
私が理解できない理由のため、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ブートは動く部分がたくさん必要なので少し難しいです。
- 次のサーバーパラメーターをデプロイできるDHCPサーバー。
- 動作するTFTPサーバー
- カーネルイメージと初期RAMディスクのコピー
- マウントされた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/tftpboot
Fedoraは、ブートイメージとpxe設定を含むために複数のディレクトリを作成する必要があるTFTPルートディレクトリを配置します。
私は通常、サブディレクトリを次のように設定します。
$OSVER/$ARCH
これにより、特定の時間に複数のバージョンのFedora PXEを起動できます。
その後、あなたと同様に、ISOイメージディレクトリのファイルとinitrd
ファイルvmlinuz
をimages/pxelinux
tftpbootの適切なサブディレクトリにコピーしました。
次に、pxelinux.cfg
tftpbootディレクトリに.という名前のファイルを作成します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
のすべての設定を使用すると機能します。