루트 블록 장치를 찾을 수 없습니다(젠투에서)

루트 블록 장치를 찾을 수 없습니다(젠투에서)

   항상 나를 괴롭히는 사소한 문제가 있습니다. Could not find the root block device in UUID=5f7c7e13-2a46-4ae4-a8c0-f77f84e80900내 젠투는 계속해서 " "에 대해 불평하고 시작하려고 하면 멈춥니다. 하지만 동일한 장치 이름을 입력하면 /dev/sda2시스템이 계속 실행됩니다. 이유는 모르겠습니다. 내 젠투 설치는 /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 }              

젠투는 우분투와 공존합니다.

내 거 /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,msdos2두 번째 디스크를 참조합니다. 일반적으로 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

솔직히 가장 쉬운 방법은 범용 코어를 만드는 것이라고 생각합니다.

난 그냥 우분투의 커널 구성을 얻고, a를 발행하고 make oldconfig, genkernel --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

이 커널에는 거의 모든 모듈과 그 이상이 포함됩니다. 따라서 연결하는 모든 것이 작동합니다. 일부 유닉스 베테랑들은 범용 커널에 눈살을 찌푸립니다. Ubuntu, Fedora 또는 기본적으로 모든 배포판을 실행하는 경우 공통 커널을 사용하고 있는 것입니다.

혼란을 주지 않고 최소한의 커널을 만들고 싶나요?
괜찮아요. 커널이 실행되면 필요한 모든 장치를 연결하기만 하면 됩니다. 완료되면 를 입력 /usr/src/linux하고 발행하십시오 make localmodconfig. 좋습니다. 이제 필요한 것만 포함하는 커널이 생겼습니다. genkernel을 사용하여 새로운 미니멀리스트 버전을 컴파일하고 같은 방식으로 설치합니다.

행운을 빌어요.

답변4

나에게 있어서 해결책은 내 파티션을 GRUB이 검색 중이라고 표시 LABEL=FUNTOO하고 /dev/sda3isolinux 프롬프트를 입력하거나 일시적으로 GRUB 부팅 옵션(매개변수)을 편집하여 작동하도록 하는 것이었습니다 .real_root/dev/sda3FUNTOO

관련 정보