Fedora 25回復をpxeブートする方法

Fedora 25回復をpxeブートする方法

私が理解できない理由のため、pxeを介してfedora 25の回復インスタンスを起動できないようです。ワークステーションバージョンで何度も試した後、最終的にサーバーDVDに戻りました。なぜなら、私が必要とする唯一のことは、ローカルディスクパーティションで作業するためにpxe fedoraを起動することだけだったからです。ああ、運はありません。

現在、追加の行でさまざまなキーワードの正確な意味を探しています。 (pxe、grub、...)正しい魔法の公式を見つけたいのですが、私のgooglefuも失敗するようです。

他のディストリビューションに問題はありませんが、Fedoraがなぜそんなに痛いのか理解したいと思います。

つまり、centos7 pxe(nfs)から回復を開始するのは非常に簡単です。

LABEL c7r
  kernel centos/7/vmlinuz
  append initrd=centos/7/initrd.img method=nfs:192.168.16.252:/pxedev/centos/7 rescue

Fedora 25のいくつかの試み:

LABEL f25r
  kernel fedora/25s/vmlinuz
  append initrd=fedora/25s/initrd.img ip=dhcp root=nfs:192.168.16.252:/pxedev/fedora25s/ rescue

PXE(nfs)からのインストールは難しくありません。

LABEL f25ws
  kernel fedora/25/vmlinuz
  append initrd=fedora/25/initrd.img ip=dhcp inst.stage2=nfs:192.168.16.252:/pxedev/fedora25/

そのため、Fedora 25のpxe回復に必要な情報がありません。サーバーバージョンの場合は、DVD:「Fedora-Server-dvd-x86_64-25-1.3.iso」をダウンロードしてフォルダに完全に抽出し、「images / pxeboot」ディレクトリにカーネルとinitramfsをインポートしました。

ベストアンサー1

TL;DR は、回復イメージの提供を忘れた inst.stage2 パラメーターです。 initrdとカーネルはいいえFedoraをリカバリモードで起動するには、Anacondaの2番目のステップローダが必要です。物root=nfsを変えたらinst.stage2=nfs:192.168.16.252:/pxedev/fedora25/レースを始めなければなりません。

より長い答え:

PXEブートは動く部分がたくさん必要なので少し難しいです。

  1. 次のサーバーパラメーターをデプロイできるDHCPサーバー。
  2. 動作するTFTPサーバー
  3. カーネルイメージと初期RAMディスクのコピー
  4. マウントされたISOイメージのコンテンツを提供する機能的なHTTPサーバー(NFSを代替として使用できます)

これが私がどのように機能したかです。

ソフトウェアのインストール

dnf -y install dhcp-server tftp-server httpd syslinux-tftpboot

ISC DHCPdセクション

注:他のDHCPサーバーを使用するYMMV。

このnext-serverパラメーターはTFTPサーバーのIPです。

Subnet 192.168.0.0 netmask 255.255.255.0 { 
     range 192.168.0.100 192.168.0.200;
     option routers 192.168.0.1;
     class "pxeclients" {
            match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
            next-server 192.168.0.2;
            filename "pxelinux.0";
    }
}

TFTPdセクション

/var/lib/tftpbootFedoraは、ブートイメージとpxe設定を含むために複数のディレクトリを作成する必要があるTFTPルートディレクトリを配置します。

私は通常、サブディレクトリを次のように設定します。 $OSVER/$ARCHこれにより、特定の時間に複数のバージョンのFedora PXEを起動できます。

その後、あなたと同様に、ISOイメージディレクトリのファイルとinitrdファイルvmlinuzimages/pxelinuxtftpbootの適切なサブディレクトリにコピーしました。

次に、pxelinux.cfgtftpbootディレクトリに.という名前のファイルを作成しますdefault。このファイルから次のようなエントリを生成します。

default vesamenu.c32
prompt 0
timeout 100
label local
  menu label Boot from ^local drive
  localboot 0xffff
label f25_x86_64
  menu label Fedora 25 x86_64 (Generic)
  kernel f25/x86_64/vmlinuz
  append initrd=f25/x86_64/initrd.img repo=http://192.168.0.2/os/fedora/25/x86_64/ ks=http://192.168.0.2/ks/f25-x86_64-ks.cfg
label f25_rescue
  menu label Fedora 25 ^Rescue Mode
  kernel f25/x86_64/vmlinuz
  append initrd=f25/x86_64/initrd.img inst.stage2=http://192.168.0.2/os/fedora/25/x86_64 rescue

2段階の画像はサイズが大きく、PXEを介して配信することが問題になる可能性があるため、HTTP経由で配信します。

次に、何らかの理由でsyslinux-tftpbootがtftp-serverの他のルートディレクトリを知らないため、すべての*.c32ファイルをからに/tftpboot/移動する必要があります。/var/lib/tftpboot

HTTPD部分

HTTPD経由で利用可能なISOイメージを取得します。

mkdir /var/www/html/os/fedora/$FEDORAVERSION/$ARCHもしそうなら、最も簡単な方法はmount -o loop,uid=48,gid=48,mode=0755 /path/to/fedora-server.iso /var/www/html/os/fedora/$FEDORAVERSION/$ARCH

すべてのデーモンが設定されアクティブになったときに動作します。

Fedora 27を起動するには、デフォルトで上記sed -r -e s/25/27/gのすべての設定を使用すると機能します。

おすすめ記事