บูตคู่ Arch Linux และ Win 7 ที่สุด


0

ฉันมีการติดตั้ง 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 ###

เป็นไปได้ว่า eufi คาดว่าจะมีค่าแฮชใน MBR ที่ Arch ติดตั้ง GRUB เปลี่ยนไปหรือไม่? การทำงานที่เป็นไปได้อาจทำให้พาร์ติชั่น Arch เป็นพาร์ติชั่นบูตแทนหรือพาร์ติชั่น Windows, โดยติดตั้ง GRUB ไว้ที่นั่น, และปล่อยให้ GRUB chain load ไปที่ Windows ด้วย MBR ที่ไม่ได้แก้ไข : - \
Gypsy Spellweaver

กรุณาชี้แจง: Windows โดยค่าเริ่มต้นรองรับการบูท UEFI บนดิสก์ GPT เท่านั้น คุณ“ แฮ็ค” อะไรหรือเปล่า โปรดระบุgrub.cfgรายการบูต Windows
Daniel B

ยิปซี: ฉันพยายามอย่างที่คุณพูดการติดตั้งด้วงบน / dev / sda3 และย้ายแฟล็กการบูตจาก / dev / sda1 เป็น / dev / sda3 (sda1 เป็น Windows) ออกจาก Windows MBR ผลลัพธ์คือ Windows MBR โหลดด้วงเรียบร้อยแล้วและฉันสามารถบูต Linux ด้วยวิธีนี้ได้ แต่ฉันได้รับข้อผิดพลาดเดียวกันถ้าฉันพยายามบูต windows ด้วยด้วง
Antonio Bonifati 'Farmboy'

แดเนียล: ขอโทษฉันทำผิดพลาดในคำอธิบายไม่ได้แฮ็คอะไร Windows ไม่ได้ใช้ UEFI มันเพิ่งมีส่วนบูทของตัวเอง / dev / sda1 ในขณะที่ / dev / sda2 มี Windows OS ทั้งหมด
Antonio Bonifati 'Farmboy'

ฉันเห็น. ดูเป็นปกติ btw: โปรดใช้การกล่าวถึงเช่นนี้: @AntonioBonifati เพื่อให้แน่ใจว่าคนที่คุณตอบกลับจะได้รับการแจ้งเตือน เพียงพิมพ์ @ และตัวอักษรสองสามตัวก็จะมีการเติมข้อความอัตโนมัติ
Daniel B
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.