initramfsの空のfstab起動問題

initramfsの空のfstab起動問題

最近、USBからLinux Mint 19.2を再インストールしましたが、すべてが順調に進行しました。ただし、システムを起動した後、initramfsで停止します。上記のエラーメッセージは、次のことを示します。

Mount: mounting /dev on /root/dev failed: no such file or directory
Mount: mounting /run on /root/run failed: no such file or directory
run-init: opening console: No such file or directory
Target: filesystem doesn't have requested /sbin/init.
Try passing init= bootarg.

initramfsでルートパーティションsda2に対してfsckを実行しましたが、きれいになりました。同じ結果としてe2fsckを使用して繰り返した。 Live-Systemを再びUSBで起動し、sda1(マイEFIブートパーティション)とsda2をマウントした後、grubとfstabのUUID値が一致することを確認しました。 initramfsに再度閉じ込められて/ etcの内容を見ると、fstabのサイズが0バイトであることがわかります。

(initramfs) ls -la /etc/fs*
-rw-r--r--   1        0 /etc/fstab

したがって、/dev/sda2 をマウントできません (fstab にエントリがない)。これで、/etcの/dev/sda2にあるfstabは明らかではないので、この時点で何を含めるべきかわかりません。しかし、正直なところ、システムがルートパーティションを見つけられないようにする他の原因は何であるかわかりません。ライブシステムで見ると、grubとfstabが大丈夫に見えるとき。

ただし、EFIがあるシステムに初めてインストールする場合、EFIブートパーティション(vfat)は1 GB(sda1)です。インストールする前に、EFIモードでライブシステムを起動したことを確認しました(実際のBIOSでレガシーモードを無効にして、EFI起動可能なOSのみを表示しました)。システムがルートパーティションを見つけられないようにする他の設定はありますか? init=後にブートローダにどのような値を渡すことができますか?

ここで問題を特定するのに役立つ場合は、いつでも追加情報をリクエストしてください。ありがとうございます!

追加: sda1 には、/EFI/ubuntu に次の内容を含む grub.cfg があります。

search.fs_uuid 734be585-8baf-408e-850a-69555c89c955 root hd0,gpt2 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

sda2の/boot/grubフォルダには、次の内容を含む参照されたgrub.cfgがあります。

export linux_gfx_mode
menuentry 'Linux Mint 19.2 Cinnamon' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-734be585-8baf-408e-850a-69555c89c955' {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  734be585-8baf-408e-850a-69555c89c955
    else
      search --no-floppy --fs-uuid --set=root 734be585-8baf-408e-850a-69555c89c955
    fi
        linux   /boot/vmlinuz-4.15.0-54-generic root=UUID=734be585-8baf-408e-850a-69555c89c955 ro ignore_bootid live-media-path=/multibootusb/linuxmint-19.2-cinnamon-64bit/casper floppy.allowed_drive_mask=0 ignore_uuid root=UUID=759A-1D86 quiet splash $vt_handoff
    initrd  /boot/initrd.img-4.15.0-54-generic
}

sdaのblkidは次の情報を提供します。

/dev/sda1: UUID="EE9A-4B64" TYPE="vfat" PARTLABEL="boot" PARTUUID="33a95580-f254-4f54-937e-143da0e1e37c"
/dev/sda2: LABEL="/" UUID="734be585-8baf-408e-850a-69555c89c955" TYPE="ext4" PARTLABEL="/" PARTUUID="92a4ec7f-d1f6-441b-abdf-0bc0a9970d0b"
/dev/sda4: LABEL="home" UUID="7b3b371b-6447-4e33-822d-d2535215b863" TYPE="ext4" PARTUUID="70686b24-b09d-4f83-a715-73fb1e4224d1"

sda3はスワップパーティションでなければなりませんが、ここに表示されないのが正常かどうかはわかりません。

起動中にgrubが表示されるまでは大丈夫でした。上記の項目または付属の「拡張オプション」項目を選択した後にのみ、ログインの代わりにinitramfsを取得できます。

ベストアンサー1

Mount: mounting /dev on /root/dev failed: no such file or directory
Mount: mounting /run on /root/run failed: no such file or directory
run-init: opening console: No such file or directory
Target: filesystem doesn't have requested /sbin/init.

ルートファイルシステムに正しいマウントポイントディレクトリがないため、何でもマウントされているようです。

これは起動オプションのカーネルラインであり、各起動オプションは明確にするために別々の行にあります。

linux   /boot/vmlinuz-4.15.0-54-generic \
    root=UUID=734be585-8baf-408e-850a-69555c89c955 \
    ro \
    ignore_bootid \
    live-media-path=/multibootusb/linuxmint-19.2-cinnamon-64bit/casper \
    floppy.allowed_drive_mask=0 \
    ignore_uuid \
    root=UUID=759A-1D86 \
    quiet \
    splash

今、おそらく2つのオプションがあることがわかりますroot=。後者は前のものを上書きします。 2番目の「UUID」の概要によれば、最終的にいくつかのFATファイルシステムをルートファイルシステムとして使用したいようです。しかし、それはあなたではありません/dev/sda1

live-media-pathハードドライブに完全にインストールされているオペレーティングシステムを起動しようとしても、このオプションは奇妙に見えます。

最初のものはroot=UUID=734be585-8baf-408e-850a-69555c89c955UUIDを正しく参照するので、/dev/sda2正確です。

私の考えでは、これはroot=UUID=759A-1D86おそらくシステムをインストールしたUSBを意味するようです。 UEFIブートローダのインストールプロセスに問題がある可能性があります。これがroot=UUID=759A-1D86UEFIオプションの起動の一部であることを認識していません。インストールメディア完了したインストールにコピーしないでください。

起動オプションからroot=UUID=759A-1D86およびを削除する必要がありますlive-media-path=/multibootusb/linuxmint-19.2-cinnamon-64bit/casper。つまり、存在する場合はin/boot/grub/grub.cfgとfromからを削除する必要があります。前者は直ちに問題を解決し、後者はカーネルアップデートをインストールしたり、他の理由で実行した場合に問題が再発するのを防ぐ必要があります。/etc/default/grub/dev/sda2update-grub

/multibootusbオプションでは、live-media-path=次の方法でインストールを完了した可能性があると思います。マルチブートUSB「一般」Mint 19.2インストールメディアを使用する代わりに。これらの自動化されたソリューションは、ブートメニューを構築するためにブートローダ設定を再構築する必要があり、必ずしも完全には実行されません。

ignore_uuidライブメディア用のcasperユーティリティは、HDDがインストールされているOSでは機能しませignore_bootidcasperfloppy.allowed_drive_mask=0(通常ではないフロッピードライブ設定を備えた一部の古いノートパソコンでは、起動時に中断を防ぐ必要があります。)

3つのブートオプションをすべて削除できますが、安全のためにシステムがGRUBブートメニューにある場合は、現在のブートエントリを編集E(この特定のブートのみ)をタップしてブートオプションを削除します。正常に起動できたら、実際の設定ファイルからそのオプションを削除できます。これらのオプションなしでシステムが起動中に中断された場合は、システムをリセットすると正常に再起動します。

おすすめ記事