파티션 테이블 없이 전체 ext4 디스크에 GRUB를 설치하는 방법은 무엇입니까?

파티션 테이블 없이 전체 ext4 디스크에 GRUB를 설치하는 방법은 무엇입니까?

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

(MBR이 없으면 파티션이 전혀 없습니다.)

하지만 결국 GRUB이 MBR에 써야 할 것 같아서 GRUB을 설치할 수 없었습니다.

# 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에 설치할 수 있는 방법이 있습니까?

PS /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

답변1

BIOS는 디스크의 첫 번째 섹터(512바이트)를 읽고 해당 섹터로 분기합니다. 디스크에 PC 스타일 파티션이 포함된 경우 첫 번째 섹터에도 파티션 테이블이 포함됩니다. 디스크에 단일 파일 시스템이 포함되어 있는 경우 첫 번째 섹터에는 파일 시스템이 결정한 모든 내용이 포함됩니다. ext[234](및 기타 여러 파일 시스템)의 경우 첫 번째 섹터 1은 부트로더용으로 예약되어 있습니다(처음에는 지워집니다). 에서 찾을 수 있습니다 /dev/sda.

하지만 때때로 BIOS는 파티션 테이블이 포함되지 않은 장치에서의 부팅을 거부합니다. (그러나 파티션 테이블이 포함된 경우 특정 외부 장치에서의 부팅을 거부하는 일부 BIOS도 있습니다!) 이러한 BIOS 중 하나가 있는 경우 파티션 테이블을 생성해야 합니다.

파티션 테이블은 필수는 아니지만 권장됩니다. 공동 시스템 관리자를 놀라게 하지 않고도 Linux가 아닌 많은 운영 체제에서 몇 킬로바이트만 낭비하고 가독성을 얻을 수 있습니다. 실수로 Windows를 실행하는 컴퓨터에 디스크를 삽입한 경우 파티션 테이블이 표시되지 않으면 디스크를 다시 포맷하라는 제안이 표시될 수 있지만, 인식할 수 없는 파티션이 있는 파티션 테이블이 표시되면 데이터를 읽을 수 없다는 메시지만 표시됩니다. 유형.

¹ 실제로 첫 번째 청크의 크기는 에 전달된 옵션에 따라 1kB, 2kB 또는 4kB인 것 같습니다 mkfs.

답변2

GRUB은 MBR에 강제로 쓰지 않습니다. 파티션 부트 섹터에 설치하고 Windows 7 로더와 같은 MBR의 다른 부트 로더가 이를 로드하도록 할 수 있습니다.

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

답변3

거의 모든 것에는 파티션 테이블이 필요합니다. 최소한 /boot, swap 및 /root 파티션을 가지려면 권장 지침을 다시 설치하고 따라야 한다고 생각합니다. 당신의 거래소는 어디에 있나요?

관련 정보