web-dev-qa-db-ja.com

ルートデバイス/ sdaパーティションが見つからない

Archlinuxをインストールし、その後GRUBをインストールしました。 WindowsとArchの両方のインストールのメニューエントリを手動で入力しました。

GRUBは起動に問題はなく、Windowsに正常にロードできます。ただし、Archにはロードできません。 Linuxは、/deb/sdaファイルのないリカバリシェルに私を追い込みます。ただし、USBは正しく検出されます。

これを引き起こしている原因と修正方法は?エラーログ全体をコピーする必要がありますか?それほど長くはありません。デバイス ''が見つからず、ttyにアクセスできないことを通知するだけです。

3
Jeroen

どうやらfstabは保存されなかったか、クリアされませんでした。このファイルを再構成すると、すべての問題が解決しました。

0
Jeroen

私の推測では、Archの_/boot/grub/grub.cfg_エントリはデバイスに誤った名前を付けています。本当にエキサイティングな背景の詳細​​については、 永続ブロックデバイス ArchWikiの命名記事を参照してください。

私のArchサーバーの_grub.cfg_には次の行があります。

_linux   /boot/vmlinuz-linux-lts root=UUID=51167b47-d8b4-41e5-87d5-9c5a7bb6fbc1 ro  quiet
_

「by-uuid」という名前を付けているようです。ファイル_/etc/fstab_は「/ dev/sda?」を使用しますスタイル名ですが、自動生成され、コメントは/ dev/sda1が_grub.cfg_と同じUUIDを参照していることを示しています。

これを修正するには、デュアルブートセットアップを使用している場合を除いて、GRUBを使用して Arch初心者向けガイド を使用してやり直します。ただし、_grub.cfg_ファイルを別の場所に置き、「root =」の値が何であるかを確認します。

_grub-mkconfig -o /tmp/testgrub.cfg
_

私はそれを実行しました、そしてそれはこのように見えました:

_[root@splunge tmp]# grub-mkconfig -o /tmp/testgrub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux-lts
Found initramfs image: /boot/initramfs-linux-lts.img
Found fallback initramfs image: /boot/initramfs-linux-lts-fallback.img
Found linux image: /boot/vmlinuz-linux-lts
done
_

「menuentry'Arch Linux '」の下で、私はこの行を_/tmp/testgrub.cfg_で見つけました:

_linux   /boot/vmlinuz-linux-lts root=/dev/sda1 rw  quiet
_

上からのUUIDの代わりに「/ dev/sda1」と表示されているため、別の方法が必要になる可能性があることがわかります。 _/etc/fstab_は "/ dev/sda1"エントリのすぐ上で何と言っていますか? UUIDの場合は、_/boot/grub/grub.cfg_を編集して、UUIDでルートパーティションを設定することをお勧めします。

[〜#〜] edit [〜#〜]_/boot/vmlinuz-linux_が存在すると言うので、GRUBを再インストールします。 _pacman -S grub_。 _grub-mkconfig_を構成するシェルスクリプトが何かで混乱し、適切な_grub.cfg_ファイルを作成できなくなっています。次に、上記の_grub-mkconfig_コマンドを試して、_/boot_でカーネルが見つかるかどうかを確認します。もしそうなら、それを実際に再実行して、「ArchLinux」menuentryセクションの「root =」パラメータが何であるかを確認してください。

2
Bruce Ediger