ฉันมีการติดตั้ง followin: ฉันติดตั้ง win7 ultimate ใน dos disklabel (ไม่ใช่ GPT) ฉันติดตั้ง Arch Linux บนเนื้อที่ว่างเหลือไว้ที่ท้ายดิสก์ ฉันได้ติดตั้งด้วงบน Arch Linux ด้วยคำสั่งเหล่านี้:
grub-install --target=i386-pc --disk-module=native /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
ฉันต้องเพิ่ม--disk-module=native
เพราะ Linux ใกล้ถึงจุดสิ้นสุด / sda ซึ่งเป็นดิสก์ขนาดใหญ่ (250G) และจะไม่โหลดเป็นอย่างอื่น
Linux บู๊ตอย่างถูกต้อง แต่ windows ไม่สามารถบู๊ตได้และฉันได้รับข้อผิดพลาดดังต่อไปนี้
Windows has encountered a problem communicating with a device connected to your computer.
This error can be caused by unplugging a removable storage device such as an external USB drive while the device is in use, or by faulty hardware such as a hard drive or CD-ROM drive that is failing. Make sure any removable is properly connected and then restart your computer
If you continue to receive this error message, contact the hardware manufacturer
File: \Boot\BCD
Status: 0xc00000e9
Info: An expected I/O error has occurred
ในการบูตทั้งคู่ฉันต้องกู้คืน Win7 MBR มาตรฐานและติดตั้งด้วงบน USB pendrive แยกต่างหากเพื่อที่ฉันจะยังสามารถบูต Linux ได้ คำแนะนำใด ๆ เกี่ยวกับข้อผิดพลาดในการบูต Windows หมายถึงอะไรจริง ๆ และวิธีการหลีกเลี่ยงหรือไม่ ฉันไม่ได้เชื่อมต่ออุปกรณ์ USB เมื่อพยายามบูต Windows จากด้วงและได้รับข้อผิดพลาดนี้ ฉันต้องการบูตทั้ง Windows และ Linux ด้วย MBR เดียวกัน
แน่นอนว่าไม่ใช่ดิสก์ที่เสียหายเพราะทันทีที่ฉันเรียกใช้ms-sys --mbr7 /dev/sda
เพื่อเรียกคืน Win MBR Windows ยังคงบู๊ต มันเป็นดิสก์โซลิดสเตทใหม่ล่าสุดและฉันก็ไม่มีปัญหาอะไรกับมันนอกจากการบู๊ต BTW ตัวเลือกการซ่อมแซมการบูตบนดิสก์การติดตั้ง Windows ไม่สามารถกู้คืน Win MBR ได้! หากไม่ใช่สำหรับ linux ms-sys ฉันจะต้องติดตั้ง Windows ใหม่ทั้งหมดเพื่อคืนค่า MBR ...
Windows เป็นระบบอิจฉาหรือไม่ถ้าคุณเปลี่ยนโปรแกรมเล็ก ๆ ใน MBR มันจะไม่สามารถบู๊ตได้อีกต่อไป? วิธีแก้ปัญหาใด ๆ
PS: นี่เป็นส่วนหนึ่งของ grub.cfg ของฉันซึ่งควรโหลด Windows มันสร้างขึ้นโดยอัตโนมัติโดย grub-mkconfig:
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-1A30667530665831' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 1A30667530665831
else
search --no-floppy --fs-uuid --set=root 1A30667530665831
fi
parttool ${root} hidden-
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
grub.cfg
รายการบูต Windows