MS-Windows 부팅 데이터를 찾기 위해 os-prober를 사용하는 방법은 무엇입니까?

MS-Windows 부팅 데이터를 찾기 위해 os-prober를 사용하는 방법은 무엇입니까?

나는 보았다이중 부팅 - 설치된 아치 및 Windows 항목이 grub에서 사라집니다.저도 같은/비슷한 문제가 있습니다. Grub이 있는데 MS-Windows가 아닌 Debian 설정만 표시됩니다. 나는 또한 성공하지 않고 다음을 시도했습니다.

[$] sudo grub-install /dev/sda
[sudo] password for shirish:
Installing for i386-pc platform.
Installation finished. No error reported.

그 다음에 -

[$] sudo grub-mkconfig -o /boot/grub/grub.cfg                                                                                       
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
D000001: cmpversions a='0:4.9.0-2-amd64' b='0:4.9.0-1-amd64' r=1
Found linux image: /boot/vmlinuz-4.9.0-2-amd64
Found initrd image: /boot/initrd.img-4.9.0-2-amd64
Found linux image: /boot/vmlinuz-4.9.0-1-amd64
Found initrd image: /boot/initrd.img-4.9.0-1-amd64
Found memtest86+ image: /boot/memtest86+.bin
Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
Found GRUB Invaders image: /boot/invaders.exec
done

MS-Windows 파티션을 찾을 수 없다는 메시지가 나타납니다.

parted -l이것은 -의 출력입니다.

l: ATA ST1000DM003-9YN1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system     Flags
 1      32.3kB  52.4GB  52.4GB  primary   ntfs
 2      52.4GB  1000GB  948GB   extended                  lba
 5      52.4GB  105GB   52.4GB  logical   ntfs
 6      105GB   305GB   200GB   logical   ext4            boot
 7      305GB   405GB   100GB   logical   ext4
 8      405GB   995GB   590GB   logical   ext4
 9      995GB   1000GB  5348MB  logical   linux-swap(v1)


Model: Seagate BUP Slim BK (scsi)
Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  2000GB  2000GB  primary  ntfs


and then lsblk output - 

[$] sudo lsblk -f                                                                                                                   
NAME   FSTYPE  LABEL               UUID                                 MOUNTPOINT
sda                                                                     
├─sda1 ntfs    WIN                 xxxxxxxxxxxxxxxxxxxx                     
├─sda2                                                                  
├─sda5 ntfs    Data                xxxxxxxxxxxxxxxxxxxx                     
├─sda6 ext4                        xxxxxxxxxxxxxxxxxxxx /
├─sda7 ext4                        xxxxxxxxxxxxxxxxxxxx /home
├─sda8 ext4                        xxxxxxxxxxxxxxxxxxxx/data
└─sda9 swap                        xxxxxxxxxxxxxxxxxxxx [SWAP]
sdb    iso9660 ISOIMAGE            2015-06-04-16-30-00-00               
└─sdb1 ntfs    Seagate-Slim-Backup xxxxxxxxxxxxxxxxxxxx                     /media/shirish/Seagate-Slim-Backup
sr0      

아직 UUID 정보를 공유하지 않았습니다. 보안 및 개인 정보 보호상의 이유로.

/boot/grub/grub.cfgMS-Windows에 대해서는 언급하지 않았습니다 .

[$] cat 
[$]

MS-Windows를 메뉴에 다시 표시하려면 어떻게 해야 합니까?

나는 심지어 osprober를 시도했지만 소용이 없었습니다 :(

[$] 고양이 /usr/share/doc/os-prober/README

나는 심지어 os-proberreadme를 시도했다 -

$ sudo cat /usr/share/doc/os-prober | grep 

$

나는 Readme 0부터 Readme를 시도했지만 성공하지 못했습니다.

Tests that require the partition to be mounted can be placed in
    30  /usr/lib/os-probes/mounted/. These tests are passed the following
    31  parameters: partition, mount point, filesystem.


 $ sudo mount /dev/sda1 /usr/lib/os-probes/mounted/

그리고 다음과 같은 것을 시도했습니다 -

[$] sudo os-prober partition /dev/sda1 /usr/lib/os-probes/mounted/
    [sudo] password for shirish: 
[$]

그런 다음 os-prober를 sudo로 실행했습니다.

[$] sudo os-prober

그러다가 도망갔다——

┌─[shirish@debian] - [/boot] - [10119]
└─[$] sudo grub-mkconfig -o /boot/grub/grub.cfg                                                                                       
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.9.0-2-amd64
Found initrd image: /boot/initrd.img-4.9.0-2-amd64
Found memtest86+ image: /boot/memtest86+.bin
Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
Found GRUB Invaders image: /boot/invaders.exec
done

보시다시피 MS-Windows 파티션을 찾지 못합니다. 영원히 손실됩니까, 아니면 탈출구가 있습니까?

수치심으로 그것을 제거해야했습니다 :(

[$] sudo umount /usr/lib/os-probes/mounted/
[$] 

전혀 모르겠습니다. Windows 부트로더가 모두 완료된 것 같습니다. 그렇지 않으면 일부 출력이 있어야 합니까?

/etc/grub.d/40_custom공유 후 GAD3R의 모습은 다음과 같습니다.——

#!/bin/sh
    exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Windows" {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    chainloader +1
    }

GAD3R을 제안한 후 다음과 같은 결과를 얻었습니다.

[$] cat /etc/default/grub | grep GRUB_DISABLE_OS_PROBER                                                                            
    11  GRUB_DISABLE_OS_PROBER=false

update-grub을 실행하면 다음 메시지가 나타납니다.

[$] sudo update-grub                                                                                                               
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.9.0-2-amd64
Found initrd image: /boot/initrd.img-4.9.0-2-amd64
Found memtest86+ image: /boot/memtest86+.bin
Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
Found GRUB Invaders image: /boot/invaders.exec

변경 사항이 없으므로 여전히 문제가 있습니다 :(

답변1

/etc/grub.d/40_custom다음과 같이 편집하세요 .

menuentry "Windows" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
chainloader +1
}

다음 줄을 다음 줄에 추가하세요 /etc/default/grub.

GRUB_DISABLE_OS_PROBER=false

달리기:

update-grub

관련 정보