いつも私を悩ませている些細なトラブルがいくつかあります。私のGentooはいつも 'Could not find the root block device in UUID=5f7c7e13-2a46-4ae4-a8c0-f77f84e80900
'立ち往生して、起動しようとしたらただし、同じデバイス名を入力すると/dev/sda2
で、システムが続行します。理由はわかりません。私のGentooは1つのパーティションにインストールされました/dev/sda2
とマウントしました/
から/dev/sda2
。
また、インターネット上でいくつかの投稿を見つけました。ほとんどの投稿は、それがカーネル構成によって引き起こされていると述べており、対応するfs
をカーネルに組み込みとしてコンパイルします。モジュールがそれを解決できるわけではありません。rootfs
は、 kernel
コマンド、grubのroot
コマンドの後のデバイス名は、UUID
で置き換える必要があります。私はそれをすべてやったが、それらはうまくいかなかった。
これが私のgrubの設定です。
533 menuentry 'Gentoo (on /dev/sda2)' --class gentoo --class linux-gnu --class os $menuentry_id_option 'osprober-chain-225E1F815E1F4D43' {
534 insmod part_msdos
535 insmod ext4
536 set root='hd0,msdos2'
537 if [ x$feature_platform_search_hint = xy ]; then
538 ¦ ¦ search --no-floppy --fs-uuid --set=root --hint- bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 5f7c7e13-2a46-4ae4-a8c0-f77f84e80900
539 ¦ else
540 ¦ ¦ search --no-floppy --fs-uuid --set=root 5f7c7e13-2a46-4ae4-a8c0-f77f84e80900
541 ¦ fi
542 ¦ ¦ echo 'Loading Linux x86_64-4.4.39-gentoo ...'
543 ¦ ¦ linux /boot/kernel-genkernel-x86_64-4.4.39-gentoo root=UUID=5f7c7e13-2a46-4ae4-a8c0-f77f84e80900 ro
544 ¦ echo 'Loading initial ramdisk ...'
545 ¦ ¦ initrd /boot/initramfs-genkernel-x86_64-4.4.39-gentoo
546 ¦ boot
547
548 }
GentooはUbuntuと共存します。
ぼくの /etc/fstab
。
1 # /etc/fstab: static file system information.
2 #
3 # noatime turns off atimes for increased performance (atimes normally aren't
4 # needed); notail increases performance of ReiserFS (at the expense of storage
5 # efficiency). It's safe to drop the noatime options if you want and to
6 # switch between notail / tail freely.
7 #
8 # The root filesystem should have a pass number of either 0 or 1.
9 # All other filesystems should have a pass number of 0 or greater than 1.
10 #
11 # See the manpage fstab(5) for more information.
12 #
13
14 # <fs> <mountpoint> <type> <opts> <dump/pass>
15
16 # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
17 UUID=5f7c7e13-2a46-4ae4-a8c0-f77f84e80900 / ext4 noatime 0 1
18 UUID=B66EAE686EAE215B /mnt/D/ ntfs errors=remount-ro
19
対応する名前のUUID
/dev/sda2: UUID="5f7c7e13-2a46-4ae4-a8c0-f77f84e80900" TYPE="ext4" PARTUUID="000e21f3-02"
/dev/sda4: UUID="B66EAE686EAE215B" TYPE="ntfs" PARTUUID="000e21f3-04"
誰かがいくつかのアイデアを持っていますか?ありがとう。
最後に、私は数日が経過した後にそれを理解しました。それはドライバーの問題が原因です。私のGentooは、USBケーブルでラップトップに接続されている外付けハードディスクにインストールされていますが、カーネルを構築したときに_USB Mass Storage Support
_オプションが_build-in
_でマスクされていなかったため、常にブロックされています方法:一部が私と同じボートにいて、参照されているすべての_file system
_を_built-in
_としてコンパイルしたことを確認した場合、次のオプションがカーネルで_built-in
_であるかどうかを確認してください。
Device Driver-->USB Support -->USB Mass Storage Support
_Device Driver-->USB Support -->xHCI HCD (USB 3.0) support
Device Driver-->USB Support --> EHCI HCD (USB 2.0) support
Device Driver-->USB Support --> UHCI HCD (most Intel and VIA) support
_Device Driver-->USB Support --> Support for Host-side USB
_
そうでない場合は、オンにしてください。
多分それはあなたのgrub.cfg
の間違ったハードドライブです
bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2
hd1,msdos2
、ahci1,msdos2
などは2番目のディスクを参照します。通常、これは最初のhd0,msdos1
で、GRUBが/dev/sda
にインストールされます。
これをgrub-install --recheck /dev/sda
で確認してください
パーティションは次のようになります。 (プライマリで起動)
Sudo parted -l
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 103GB 103GB primary ext4 boot
2 103GB 107GB 4394MB extended
5 103GB 107GB 4394MB logical linux-swap(v1)
正直に言うと、これを行う最も簡単な方法は、一般的なカーネルを作成することだと思います。
私は単にUbuntuのカーネル構成を取得し、make oldconfig
を発行して、残りをgenkernel --no-clean --menuconfig all
に任せます。
wget -O /usr/src/linux/.config kernelconfigurl
make oldconfig
を実行します。これらに答える方法がわからない場合は、単に「Enter」キーを押してください。いいえ、悪いことは何も起こりません。デフォルトの答えがデフォルトになります。とにかく、汎用カーネルでこれを選択する必要があります。genkernel --no-clean --menuconfig all
を使用してgenkernelを実行します。メニューでは、必要に応じて変更したり、終了したりできます。そして、インストールが始まります。grub-mkconfig -o /boot/grub/grub.cfg
このカーネルには、ほとんどすべてのモジュールが含まれます。したがって、接続したすべてのものが機能します。一部のUnix退役軍人は、汎用カーネルを嫌います。 Ubuntu、Fedora、または基本的にあらゆるディストリビューションを実行している場合-汎用カーネルを使用しました。
台無しにせずに最小限のカーネルを作成しますか?
問題ない。このカーネルを起動したら、必要なすべてのデバイスを接続するだけです。完了したら、/usr/src/linux
に移動してmake localmodconfig
を発行します。これで、必要なものだけを含むカーネルができました。 genkernelを使用して新しい最小限のバージョンをコンパイルし、同じ方法でインストールします。
幸運を。
私の場合、GentooでVMWare Fusion仮想マシンを起動します。 CONFIG_FUSION_SPI=Y
。