현재 저는 /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 파티션을 가지려면 권장 지침을 다시 설치하고 따라야 한다고 생각합니다. 당신의 거래소는 어디에 있나요?