ルートブロックデバイスが見つかりません(Gentooから)

ルートブロックデバイスが見つかりません(Gentooから)

   いつも私を悩ませるマイナーな問題があります。Could not find the root block device in UUID=5f7c7e13-2a46-4ae4-a8c0-f77f84e80900私のGentooは続けて「」について文句を言い始めると停止します。ただし、同じデバイス名を入力すると、/dev/sda2システムは引き続き実行されます。理由はわかりません。私のGentooのインストールは/dev/sda2私がインストールしたパーティションに/あります/dev/sda2

   オンラインでもいくつかの投稿が見つかりました。ほとんどの投稿では、カーネルの設定が原因であると言い、モジュールではfsなく対応する組み込み機能をカーネルにコンパイルすることで問題を解決できます。一部の人はコマンドの後に grub を指定しrootfsなければならず、 grub でコマンドの後のデバイス名を this に変更しなければならないと言います。私はこれらすべてをしましたが、何もうまくいきませんでした。 kernelrootUUID

これは 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"

誰にもアイデアはありますか?ありがとうございます。

答え1

  数日間作業した後、ドライバーの問題による問題であることをいよいよ見つけました。 USBケーブルでノートパソコンに接続された外付けハードドライブにGentooを取り付けました。ただし、カーネルをビルドしてもUSB Mass Storage Supportオプションはマスクされません。それでいつもこんなに詰まっています。私がそのような場合で、参照されているすべてのエントリをコンパイルしたことをbuild-in確認したら、カーネルに次のオプションがあることを確認してください。file systembuilt-inbuilt-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

そうでない場合は確認してください。

答え2

たぶんハードドライブのエラーかもしれませんgrub.cfg

bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2

hd1,msdos2などはahci1,msdos22番目のディスクを参照します。通常、grubを最初にhd0,msdos1インストールします。/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)

答え3

正直なところ、最も簡単な方法はユニバーサルコアを作ることだと思います。

私はUbuntuのカーネル構成を取得し、aを発行しmake oldconfiggenkernel --no-clean --menuconfig all残りはやってみましょう。

  • カーネルを表示するには、クイックインストールガイドの指示に従ってください。
  • 共通カーネル構成を取得するには:
    1)必要なファイルを見つけます。最新のカーネルバージョンは基本的に次のようになります。http://kernel.ubuntu.com/~kernel-ppa/configs/
    2)wget -O /usr/src/linux/.config kernelconfigurl
  • ランニングmake oldconfig。この質問に答える方法がわからない場合は、「Enter」キーを押してください。いいえ、悪いことは起こりません。デフォルトの回答がデフォルト値に設定されます。これはとにかく通常のカーネルで選択する必要がある答えです。
  • genkernelを実行してくださいgenkernel --no-clean --menuconfig all。メニューから必要に応じて変更またはすぐに終了できます。インストールが始まります。
  • GRUB 構成を生成するには、次のコマンドを使用します。grub-mkconfig -o /boot/grub/grub.cfg

このカーネルには、ほぼすべてのモジュールとそれ以上が含まれます。したがって、接続するすべてが機能します。一部のUnixベテランはユニバーサルカーネルに眉をひきます。 Ubuntu、Fedora、またはデフォルトですべてのディストリビューションを実行している場合は、共通のカーネルを使用しています。

混乱を与えずに最小限のカーネルを作りたいですか?
大丈夫です。カーネルが実行されたら、必要なすべてのデバイスを接続するだけです。完了したら、を入力し/usr/src/linuxて発行してくださいmake localmodconfig。いいですね。これで必要なものだけを含むカーネルができました。 genkernelを使用して新しいミニマリストバージョンをコンパイルし、同じ方法でインストールします。

頑張ってください。

答え4

私にとっての解決策は、私のパーティションをGRUBが検索中であることを示し、isolinuxプロンプトを入力するか、LABEL=FUNTOO一時/dev/sda3的にGRUBブートオプション(パラメータ)を編集して機能させることでした。real_root/dev/sda3FUNTOO

関連情報