「ネットワークでライブファイルシステムが見つかりません」 CentOS PXEでUbuntuを起動する

「ネットワークでライブファイルシステムが見つかりません」 CentOS PXEでUbuntuを起動する

私は常にUEFIオプションを使用して、ネットワークDHCP / TFTPを介してCentOS 7 PXEサーバーからCentOS 7および8にベアメタルサーバーをミラーリングします。また、Ubuntu 20.04サーバーを構築しようとしています。

私はドキュメントに従ってUbuntu ISOのキャスパーディレクトリからvmlinuzとinitrdを抽出し、デフォルトのtftpbootディレクトリに配置しました。すべてが順調に進行し、ISOがクライアントにダウンロードされ、BusyBoxに移動してinitramfsを起動した後、ISOの読み込みが完了しましたが、「ネットワーク上でライブファイルシステムが見つかりません」というメッセージが表示され、停止しました。問題は、クライアントをナビゲートしてISOを見つけることができ、ISOをマウントしてそこにあるすべてを見ることができるということです。

私は別のISO(Ubuntu Desktopなど)を使用しました。 ISO shaと。

これは私が使用しているgrub.cfgであり、問​​題を隔離するためにすべてを削除しました。

timeout=30
timeout_style=menu

menuentry 'Ubuntu 20.04.2' {
  linuxefi /vmlinuz ip=dhcp url=http://10.10.10.1/ubuntu-20.04.2-live-server-amd64.iso
  initrdefi /initrd
}

menuentry 'CentOS 7.8' {
  linuxefi /centos/images/pxeboot/vmlinuz ip=dhcp inst.repo=http://10.10.10.1:/centos
  initrdefi /centos/images/pxeboot/initrd.img
}

CentOSのインストールは正常に機能します(/centosはCentOS ISOダンプパスです)。

私が逃したものはありますか?

答え1

残念ながら、これはいくつかの考えられる原因を含む包括的な失敗です。入力したbusyboxシェルを使用すると、一時的なramファイルシステムのcasper.logファイルを表示できます。 (debug=APPEND行に追加すると、追加のデバッグ情報を有効にする必要があります)。これにより、問題がある程度明らかになります。

また、tftpとhttpサーバーのログファイルは、要求するさまざまな部分で何が起こっているのかを示します。

1つの可能性(私の場合の問題)は、提供するvmlinuzファイルとinitrdファイルがロードされている.isoイメージのファイルと同じでなければならないことです。 (.isoを新しいマイナーバージョンに更新しましたが、以前のバージョンのカーネル/ initrdを使用していたため、突然この問題が発生し始めました。)

mount -o loop,ro ubuntu-20.04.2-live-server-amd64.iso /mnt
cp /mnt/casper/initrd /mnt/casper/vmlinuz [destination]
umount /mnt

答え2

次のパラメーターを使用して、基本構成で機能するようにしました。

LABEL Ubuntu 20 LTS
    MENU LABEL Install Ubuntu 20 LTS
    KERNEL ubuntu20/casper/vmlinuz # On PXE server, relative to TFTP Root
    INITRD ubuntu20/casper/initrd
    IPAPPEND 1
    APPEND autoinstall ip=dhcp interface=enp5s0 ds=nocloud-net;s=http://<mywebserver>/ubuntu2004/autoinstall/ucshadoop06/ url=http://<mywebserver>/ubuntu-20/liveserver-iso/ubuntu-20.04.1-live-server-amd64.iso

dsパラメーターの有無に関係なく機能します。現在私の課題は、dsパラメータが何もしない理由を見つけることです。追加情報がある場合はお知らせください。

答え3

.diskこのエラーで述べたように、ファイルが欠落している可能性があります。https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1877618

PXEインストールファイルをコピーするときは、隠しファイルを含める必要があります。https://superuser.com/questions/61611/how-to-copy-with-cp-to-include-hidden-files-and-hidden-directories-and-their-con

ちなみに、これはPXEのインストール設定について私が見つけた最高の記事です。 Ubuntu 20.04の指示を修正してコピーしたことを確認する必要がありました.disk(記事には記載されていません)。https://linuxhint.com/pxe_boot_ubuntu_server

答え4

私は書いたUbuntu用のLTSPを構築する方法のチュートリアル(これは16.04で導入されましたが、最新バージョンにも適用されます。)

クライアントのビルドが失敗する可能性があります。これは、ISOが明らかに存在していても、PXEオプションから起動したときにクライアントにこのコンテンツが表示されない理由です。

関連情報