방금 새 하드 드라이브에 Windows 7 및 Debian 7 운영 체제를 설치했습니다. 평소처럼 Windows를 먼저 설치한 다음 Debian을 설치했습니다.
첫 번째 시도에서는 컴퓨터가 방금 Windows로 부팅되었기 때문에 GRUB가 올바르게 설치되지 않은 것 같습니다. 나는 이것을 debian.org에서 찾았고 그 조언을 따랐습니다:
grub-install은 설치 중에 사용 가능한 디스크가 여러 개 있는 경우(예: USB 스틱에서 설치 프로그램을 부팅할 때 자주 발생하는 하드 드라이브 및 USB 스틱) 문제가 발생할 수 있습니다. GRUB 부트로더가 다음에 설치되어 있다고 여러 번 보고되었습니다. 새로 설치된 시스템이 포함된 하드 드라이브가 아닌 USB 스틱에 저장됩니다.
이러한 상황을 방지하려면 설치 중 다음 질문에 "아니요"로 대답하십시오. "GRUB 부트 로더를 마스터 부트 레코드에 설치하시겠습니까?" 다음 단계에서 "장치 사용"에서 올바른 장치를 지정할 수 있어야 합니다. 부트로더에 의해 설치됨".
이 작업을 수행하면 부팅 시 GRUB가 표시되지만 Windows를 선택하면 화면이 검게 변하고 즉시 GRUB 메뉴로 돌아갑니다. 첫 번째 파티션은 부팅 플래그가 있는 파티션이기 때문에 GRUB를 첫 번째 파티션에 설치했습니다.
내 파티션은 다음과 같습니다.
- 100MB 시스템 예약됨
- 195GB 윈도우
- 2GB 스왑
- 40GB 리눅스
나중에 Windows CD를 사용하여 MBR을 복구했지만 물론 이제 데비안을 사용할 수 없습니다.
GRUB을 다른 곳에 설치해야 합니까, 아니면 다른 문제입니까?
답변1
MBR
partitioning 대신 사용한다고 가정합니다 GPT
.
먼저, MBR을 백업하고 결국 복원할 수 있습니다(hda가 대상 디스크라고 가정).
dd if=/dev/hda of=/path/mbr-backup bs=512 count=1 # backup
dd if=/path/mbr-backup of=/dev/hda bs=512 count=1 # restore
hda1
디스크 대신 파티션에 grub을 설치하는 경우에는 분명히 그렇습니다.
노트디스크(hda)에 있는 경우 백업과 복원 사이에 파티션 테이블을 변경하지 마세요.
둘째, 현재 Debian이 설치되어 있으면 Live CD를 부팅하고 Debian 루트 디렉터리를 어딘가에 마운트하세요.
mkdir /tmp/x
mount /dev/hda1 /tmp/x # Debian root partition
# mount some needed filesystem
mount proc /tmp/x/proc -t proc
mount sysfs /tmp/x/sys -t sysfs
mount --bind /dev /tmp/x/dev
파티션으로 chroot하고 grub을 다시 설치하십시오.
chroot /tmp/x
grub-install /dev/hda # or hda1 for the partition
아직 필요한지 확실하지 않습니다 update-grub
(확인해야 함).
grub은 os-prober
창을 찾아야 합니다. 부팅에 실패하면 체인 로더에 다른 문제가 있는 것입니다.
고쳐 쓰다
디스크가 파티션된 경우 GPT
이 FAQ를 참조하세요.
특히 이건:
Windows 7, Windows Vista 및 Windows Server 2008이 GPT 디스크에서 읽고, 쓰고, 부팅할 수 있습니까?
예, 모든 버전에서는 GPT 파티션 디스크를 사용하여 데이터를 저장할 수 있습니다.부팅은 UEFI 기반 시스템의 64비트 버전에서만 지원됩니다..
파티션을 BIOS
사용 하고 있다면 .MBR
UEFI
GPT
답변2
저는 항상 별도의 파티션("/boot")에 부트로더를 설치하는 것을 권장합니다. 이 파티션에서는 나중에 기본 운영 체제(Windows) 손상에 대한 걱정 없이 다른 작업을 수행할 수 있습니다.
귀하의 경우에는 새 파티션 + "/boot"로 설치된 부트로더로 데비안을 다시 설치하는 것이 더 낫다고 생각합니다. 또한 GPT는 있지만 MBR은 없을 수도 있습니다. 이것이 이유일 수 있습니다.