GRUB 2에 Windows 7을 어떻게 추가합니까?


4

GRUB 2 부팅 메뉴에 Windows 7을 추가하는 데 문제가 있습니다. 이 사이트와 다른 사이트에서 비슷한 질문을하고 답변을 받았지만 그에 대한 답변은 나에게 도움이되지 않는 것 같습니다.

내 설정 : 두 개의 하드 드라이브, Win 7 설치의 sda 및 데비안 설치의 sdb 및 GRUB2.

BIOS에서 부팅 할 하드 드라이브를 선택할 수 있으며 첫 번째 하드 드라이브에서 부팅하면 Windows가 시작되어 작동한다는 것을 알 수 있습니다. 이제 GRUB에 메뉴 항목을 추가하여 Windows를 부팅하려고합니다.

bootinfoscript를 다운로드 하여 실행했습니다 RESULTS.txt.

                  Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => Windows is installed in the MBR of /dev/sda.
 => Grub2 (v1.99) is installed in the MBR of /dev/sdb and looks at sector 2048 
    of the same hard drive for core.img. core.img is at this location and 
    looks for (,gpt2)/boot/grub on this drive.

sda1: __________________________________________________________________________

    File system:       
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info: 
    Mounting failed:   mount: unknown filesystem type ''

sda2: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  Windows 7
    Boot files:        /Windows/System32/winload.exe

sdb1: __________________________________________________________________________

    File system:       BIOS Boot partition
    Boot sector type:  Grub2's core.img
    Boot sector info: 

sdb2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Mounting failed:   mount: unknown filesystem type ''
mount: /dev/sdb2 already mounted or sdb2 busy

sdb3: __________________________________________________________________________

    File system:       swap
    Boot sector type:  -
    Boot sector info: 

============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________

Disk /dev/sda: 256.1 GB, 256060514304 bytes
255 heads, 63 sectors/track, 31130 cylinders, total 500118192 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1    *          2,048       206,847       204,800   7 NTFS / exFAT / HPFS
/dev/sda2             206,848   500,115,455   499,908,608   7 NTFS / exFAT / HPFS


Drive: sdb _____________________________________________________________________

Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders, total 5860533168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdb1                   1 4,294,967,295 4,294,967,295  ee GPT


GUID Partition Table detected.

Partition    Start Sector    End Sector  # of Sectors System
/dev/sdb1           2,048         4,095         2,048 BIOS Boot partition
/dev/sdb2           4,096 2,605,768,703 2,605,764,608 Data partition (Windows/Linux)
/dev/sdb3   2,605,768,704 2,639,306,751    33,538,048 Swap partition (Linux)

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/sda2        DCA04533A0451584                       ntfs       
/dev/sdb2        ea61c63c-0a93-44fb-894c-f652c28b67d0   ext4       
/dev/sdb3        ca9c61ec-f99e-428c-bdf3-65fbbfc4b43b   swap       

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/disk/by-uuid/ea61c63c-0a93-44fb-894c-f652c28b67d0 /                        ext4       (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
/dev/sda2        /mnt/win                 fuseblk    (ro,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)


=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt

OS-prober가 Win7 설치를 감지하지 못하는 것 같습니다. 내가 update-grub2(내 생각에 OS-prober를 실행한다고) 실행하면 다음과 같이 출력됩니다.

Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
done

GRUB 메뉴 항목에 대한 변형을 시도했습니다 (수정 /etc/grub.d/40_custom한 다음 실행하여 update-grub2). 다음은 그중 일부입니다.

: 첫 번째는 (예를 들어)이 링크에서 영감을 간단 http://technologytales.com/2010/11/21/manually-adding-an-entry-for-windows-7-to-an-ubuntu-grub2 -메뉴/

menuentry 'Windows 7' {
set root='(hd0,2)'
chainloader +1
}

부팅되지 않으며 GRUB에서 다음과 같은 결과가 나타납니다.

  Booting a command list

error: invalid signature.

Press any key to continue...

그런 다음 이것을 시도했습니다.

menuentry 'Windows 7' --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd0,2)'
search --no-floppy --fs-uuid --set=root DCA04533A0451584
chainloader +1
}

결과 :

BOOTMGR is missing
Press Ctrl+Alt+Del to restart

그런 다음 시도했습니다.

menuentry 'Windows 7' --class windows --class os {
insmod part_msdos
insmod ntfs
insmod ntldr
set root='(hd0,2)'
search --no-floppy --fs-uuid --set=root DCA04533A0451584
ntldr ($root)/Windows/System32/winload.exe
}

어느 것도 작동하지 않습니다 (깜박이는 커서가있는 빈 화면으로 이동).

나는 정말로 여기에서졌다. 어떤 도움이라도 대단히 감사하겠습니다!

업데이트 : 기본 설정으로 boot-repair-disk (주석에서 moses가 제안한대로)를 실행했습니다. 부팅 메뉴에 Win7 항목이 추가되지 않았습니다. GRUB으로 MBR을 덮어 쓰기 때문에 Win7 설치를 감지하지 못할 수도 있습니다. 다음은 boot-repair-disk 로그에 대한 링크 입니다.


단순히 자동 부팅 복구 디스크를 실행 해 보셨습니까? 모든 운영 체제를 스캔하고 수동으로 수행 할 필요없이 grub을 다시 빌드합니다.
Moses

팁 고마워! 부팅 복구 디스크가 존재하는지 몰랐습니다. 기본 설정으로 실행했지만 GRUB 메뉴에 항목을 추가하지 않았습니다. 부팅 복구 로그를 사용하여 위의 질문을 업데이트하십시오.
user829876

답변:


1

문제는 Windows 7 이 부팅 파일을 보유한 100MB 시스템 파티션을 사용한다는 것 입니다. 따라서 Windows 드라이브 ( 부팅 파티션 이라고 함)가 아니라 부팅해야 합니다.

menuentry 'Windows 7' {
set root='(hd0,1)'
chainloader +1
}

boot info script파일 시스템을 마운트 할 수 없다고 말하는 데 문제가있는 것 같지만 대부분 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.