it-swarm-ko.tech

파티션 테이블없이 전체 ext4 디스크에 GRUB 설치하는 방법)?

현재 나는 전체 디스크 /dev/sda ext4로 포맷하고 Gentoo를 설치했습니다.

(MBR도없고 파티션도 전혀 없습니다.)

그러나 마지막으로 GRUB 설치할 수 없습니다. 왜냐하면 GRUB MBR에 쓸 필요가 있기 때문).

# grub-install /dev/sda
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
The file /boot/grub/stage1 not read correctly. 

grub도 작동하지 않습니다.

# grub
grub> root (hd0)
 Filesystem type unknown, using whole disk

grub> setup (hd0)
 Error 17: Cannot mount selected partition

MBR없이 GRUB/dev/sda에 설치할 수 있습니까?

추신 /boot 디렉토리 및 grub.conf 파일 :

# tree /boot 
/boot
|-- boot -> .
|-- grub
|   |-- default
|   |-- device.map
|   |-- e2fs_stage1_5
|   |-- fat_stage1_5
|   |-- ffs_stage1_5
|   |-- grub.conf
|   |-- iso9660_stage1_5
|   |-- jfs_stage1_5
|   |-- menu.lst -> grub.conf
|   |-- minix_stage1_5
|   |-- reiserfs_stage1_5
|   |-- splash.xpm.gz
|   |-- stage1
|   |-- stage2
|   |-- stage2_eltorito
|   |-- ufs2_stage1_5
|   |-- vstafs_stage1_5
|   `-- xfs_stage1_5
`-- kernel-2.6.36-gentoo-r5

# cat /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0)/boot/grub/splash.xpm.gz

title Gentoo Linux 2.6.36-r5
root (hd0)
kernel /boot/kernel-2.6.36-gentoo-r5 root=/dev/sda

title Gentoo Linux 2.6.36-r5 Rescue
kernel /boot/kernel-2.6.36-gentoo-r5 root=/dev/sda init=/bin/bb

# cat /boot/grub/devices
(fd0)   /dev/fd0
(hd0)   /dev/sda
15
Xiè Jìléi

BIOS는 디스크의 첫 번째 섹터 (512 바이트)를 읽고 여기로 분기합니다. 디스크에 PC 스타일 파티션이 포함 된 경우 첫 번째 섹터에는 파티션 테이블도 포함됩니다. 디스크에 단일 파일 시스템이 포함 된 경우 첫 번째 섹터에는 파일 시스템이 거기에 저장하기로 결정한 모든 항목이 포함됩니다. ext [234] (및 기타 많은 파일 시스템)의 경우 첫 번째 섹터 ¹는 부트 로더 용으로 예약되어 있으며 처음에는 0으로 지정됩니다. /dev/sda에 Grub을 설치할 수 있습니다.

즉, 파티션 테이블이없는 장치에서 부팅을 거부하는 BIOS가 가끔 있습니다. (그러나 파티션 테이블이있는 경우 일부 외부 장치에서 부팅을 거부하는 BIOS도 있습니다!) 이러한 BIOS 중 하나가있는 경우 파티션 테이블을 만들어야합니다.

파티션 테이블이 필요하지 않더라도 권장합니다. 몇 킬로바이트 만 낭비하고 많은 비 Linux OS에서 가독성을 얻을 수 있으며 공동 시스템 관리자에게는 놀라지 않습니다. 실수로 Windows를 실행하는 컴퓨터에 디스크를 연결 한 경우 파티션 테이블이 표시되지 않으면 디스크를 다시 포맷하도록 제안 할 수 있지만 파티션 테이블이있는 경우 데이터를 읽을 수 없다고 불평 할뿐입니다. 인식 할 수없는 파티션 유형입니다.

¹ 사실 첫 번째 블록은 mkfs에 전달 된 옵션에 따라 블록이 1kB, 2kB 또는 4kB라고 생각합니다.

GRUB는 MBR에 작성해야하는 것은 아닙니다. 파티션 부트 섹터에 설치하고 MBR의 다른 부트 로더가이를로드하도록 할 수 있습니다 (예 : Windows 7 로더).

http://www.linuxselfhelp.com/gnu/grub/html_chapter/grub_3.html

2
Madhur Ahuja

거의 모든 것이 파티션 테이블을 기대합니다. 다시 설치해야한다고 생각하고 최소한/boot, swap 및/root 파티션을 갖는 제안 된 지침을 따르십시오. 스왑은 어딨어?

0
Keith