Grub은 Debian Jessie를 사용하여 새 디스크로 부팅할 때 파일을 찾을 수 없음을 반환합니다.

Grub은 Debian Jessie를 사용하여 새 디스크로 부팅할 때 파일을 찾을 수 없음을 반환합니다.

새 하드 드라이브에 Debian Jessie를 설치했고 이 새 디스크에서 부팅하고 싶습니다. Debian 설정이 끝나면 Grub도 설정하기로 선택했습니다. 그러나 시작 시 Grub은 "파일을 찾을 수 없음" 오류와 함께 복구 모드로 전환됩니다. 나는 성공하지 않고 다시 설치하려고 찾은 몇 가지 가이드를 시도했습니다.

내 구성은 다음과 같습니다(라이브 Knoppix 배포판에서 부팅 중입니다).

knoppix@Microknoppix:~$ lsblk -f
NAME   FSTYPE  LABEL        MOUNTPOINT

sda                         
└─sda1 ext4                 
sdb                         
├─sdb1 ext4                 
├─sdb2                      
└─sdb5 swap                 
sdc                         
└─sdc1 ntfs    Stock        
sdd                         
├─sdd1 ext4    Debian       
├─sdd2                      
└─sdd5 swap                 
sdh                         
└─sdh1 ntfs    My Passport  
sr0    iso9660 KNOPPIX      /mnt-system
sr1    udf     WD SmartWare 
zram0  swap                 [SWAP]
cloop0 iso9660 KNOPPIX_FS   /KNOPPIX

쿠로코

 /dev/cloop0: LABEL="KNOPPIX_FS" TYPE="iso9660" 
 /dev/zram0: UUID="770d53d4-32d4-4810-988a-ffb80edecc8f" TYPE="swap" 
 /dev/sda1: UUID="2a0bdecf-9074-40de-8d23-bcaf01af17bb" TYPE="ext4" 
 /dev/sdb1: UUID="a4eaeb3b-27d1-4285-a364-fcdfa601fb82" TYPE="ext4" 
 /dev/sdb5: UUID="76381585-358a-46a1-bc16-feb51b08fe90" TYPE="swap" 
 /dev/sdc1: LABEL="Stock" UUID="A2904C19904BF1F9" TYPE="ntfs" 
 /dev/sdd1: LABEL="Debian" UUID="c45c0acc-f414-4c3e-a4ba-b3c1a33c3cbd"    TYPE="ext4" 
 /dev/sdd5: UUID="2f0c8892-f4a8-4312-bc19-1e8d72f23e6c" TYPE="swap" 
 /dev/sr0: LABEL="KNOPPIX" TYPE="iso9660" 
 /dev/sdh1: LABEL="My Passport" UUID="325220A852207331" TYPE="ntfs" 
 /dev/sr1: LABEL="WD SmartWare" TYPE="udf" 

헤어졌다

(parted) print all                                                  
Model: ATA Maxtor 7V250F0 (scsi)
Disk /dev/sda: 251GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  251GB  251GB  primary  ext4         boot

Model: ATA Maxtor 7V300F0 (scsi)
Disk /dev/sdb: 300GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size    Type      File system     Flags
 1      1049kB  284GB  284GB   primary   ext4
 2      284GB   300GB  16.1GB  extended
 5      284GB   300GB  16.1GB  logical   linux-swap(v1)

...

grub.cfg 파일에는 올바른 내용이 포함되어 있습니다.

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-2a0bdecf-9074-40de-8d23-bcaf01af17bb' {
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  2a0bdecf-9074-40de-8d23-bcaf01af17bb
    else
      search --no-floppy --fs-uuid --set=root 2a0bdecf-9074-40de-8d23-bcaf01af17bb
    fi
    echo    'Loading Linux 3.16.0-4-amd64 ...'
    linux   /boot/vmlinuz-3.16.0-4-amd64 root=UUID=2a0bdecf-9074-40de-8d23-bcaf01af17bb ro  quiet
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.16.0-4-amd64
}

.mod 파일은 별도의 디렉토리 /boot/grub/i386-pc에 있습니다. 이것이 일반적인가요?

무엇이 문제인지, 해결 방법을 알려주셔서 감사합니다.

답변1

grub 구성의 이 줄은 set root='hd0,msdos1'사용하려는 파일 시스템의 루트가 /dev/sda1과 동일한 첫 번째 디스크의 첫 번째 파티션에 있음을 grub에게 알려줍니다.

분할 출력에는 /dev/sda1에 부팅 가능한 플래그가 설정되어 있지만 다른 파티션인 /dev/sdd1은 "Debian"이라고 표시된 파티션으로 루트 파일 시스템이 있다고 가정합니다. 이 경우 grub이 올바른 디스크를 사용하도록 grub.cfg를 편집해야 합니다.

grub.cfg를 백업한 다음 hd0이 언급된 곳마다 줄을 변경하고 변경을 반복하는 것이 set root='hd0,msdos1'좋습니다 . set root='hd3,msdos1'그런 다음 parted를 사용하여 /dev/sdd1에 대한 부팅 가능 플래그를 설정하고 데비안 부팅을 시도합니다. 행운을 빌어요!

관련 정보