เริ่มระบบ Windows 7 iso จาก grub2


12

ฉันต้องการทำเพราะฉันต้องการติดตั้ง Windows 7 และเมนู BIOS ของฉันไม่ปรากฏขึ้น มันข้ามไปที่เมนู grub2 เมื่อเริ่มต้น แต่นั่นเป็นอีกเรื่อง ... มีวิธีการบูตการติดตั้ง Windows 7 iso โดยตรงจาก grub2 หรือไม่?


1
"เมนู BIOS ของฉันไม่ปรากฏขึ้น" แต่คุณลองเข้า BIOS แล้วหรือยัง?
มิทช์

ถ้าฉันฟอร์แมต HDD? Windows จะบูตไหม :)

คำตอบ:


7

การบูต Windows XP ด้วย grub4dos

การบูต ISO จริงด้วย grub legacy หรือ grub2 จะไม่ทำงาน แต่ด้วย windows รุ่นเก่า (เช่น XP) คุณสามารถแกะโฟลเดอร์ i386 จาก ISO ไปยัง USB stick แล้วใช้grub4dosเพื่อเรียก bootloader:

title windows installer via setupldr.bin
find --set-root /i386/setupldr.bin
chainloader /i386/setupldr.bin

หรือ

title windows installer via /bootsect.bin
find --set-root /i386/setupldr.bin
chainloader /bootsect.bin

สิ่งนี้อาจไม่ทำงานกับ Windows รุ่นที่ใหม่กว่าหรือกับฮาร์ดแวร์ที่ใหม่กว่า แต่ก็มีตัวเลือก ..

การบูต Windows 7 ด้วย grub2

ด้วย grub2 เห็นได้ชัดว่าบางสิ่งบางอย่างเช่นนี้สามารถทำงานสำหรับWindows 7 :

menuentry "Windows 7 (bootmgr)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    ### A: either use this line or the next one, but not both
    set root='(hd0,msdos1)' 
    ### B: 
    ### search --no-floppy --fs-uuid --set=root ____INSERT_PARTITION_UUID_HERE___
    ntldr ($root)/bootmgr
}

ตัวเลือกAถือว่าอุปกรณ์ USB / HDD ที่สามารถบูตได้ของคุณเป็นอุปกรณ์ตัวแรกและมีตารางพาร์ทิชันสไตล์ msdos ปรับให้เข้ากับการกำหนดค่าของคุณ หากอุปกรณ์สำหรับบู๊ตของคุณมีตารางพาร์ติชัน GPT เป็นไปได้มากว่าคุณจะต้องใช้(hd0,gpt1) (โดยทั่วไป GPT นั้นยากกว่าในการตั้งค่า)

ตัวเลือกBใช้ UUID เฉพาะของไดรฟ์ซึ่งสามารถเห็นได้บน Linux ด้วยsudo blkidหรือบน OSX ด้วยเช่นdiskutil info disk0s1 (หรือ Disk Utility> Info)

รายการสุดท้ายอาจมีลักษณะเช่นนี้:

menuentry "Windows 7 installer" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    search --no-floppy --fs-uuid --set=root 0E239BC6-F960-3107-89CF-1C97F78BB46B
    ntldr /bootmgr
}

ดี ฉันใช้ --set = root --fs-uuid UUIDHERE (เปลี่ยนลำดับ) แทน แต่ (ไม่สามารถบอกได้ว่ามันจำเป็นหรือไม่) ขอบคุณ
Jan Kyu Peblik

@JanKyuPeblik คุณสามารถบูตจาก ISO ได้หรือไม่?
อันวาร์

นั่นคือความทรงจำของฉันใช่ ฉันไม่สนใจสิ่งอื่นเลย
Jan Kyu Peblik

5

ใช่คุณคิดว่าอะไรแบบนี้จะได้ผล:


menuentry "Boot Windoze" {
  search -f "--set-root /Winblows.iso"
  drivemap "/Winblows.iso" '(hd32)'
  drivemap '--hook' ''
  set root='(hd32)'
  chainloader +1
}

แต่ Windows จะหยุดชะงักที่

หากคุณมี RAM อย่างน้อย 4GB คุณสามารถเลือกที่จะโหลด iso DVD ทั้งหมดในmemdiskแล้วบูตมัน ในการทำเช่นนั้นดาวน์โหลด SysLinux และแตกmemdiskไฟล์ลงในbootไดเรกทอรีของคุณ จากนั้นคุณต้องเพิ่มรหัสใน Grub2 แบบนี้


menuentry "Boot Windoze" {
  search -f "--set-root /Winblows.iso"
  insmod memdisk
  linux16 /boot/memdisk iso
  initrd16 /Winblows.iso
}

อย่างไรก็ตามฉันจะไม่แม้แต่จะทดสอบโค้ดเนื่องจากการใส่ข้อมูล 3+ GB ลงใน RAM นั้นผิดปกติ (จากจุดยืนของอุดมการณ์) ไม่ฉันต้องการสิ่งที่คุณต้องการจริงๆ แต่ในที่สุดฉันก็ติดตั้ง Windows ลงในพาร์ติชันบน USB โดยใช้เครื่องมือดาวน์โหลด Windows 7 USB / DVDและจัดการกับสิ่งนั้น ขออภัยไม่มีวิธีอื่นที่ฉันเห็น


รหัสแรกจะบูตหน้าต่าง แต่ล้มเหลวในบางครั้งเนื่องจาก windows ไม่รู้ว่ามีการติดตั้ง iso ไว้ที่ใด
totti

รหัสที่สองอาจไม่ทำงานตามที่มันจะไม่ทำงานกับ ISO ของอูบุนตู
totti

OP อ้างถึง Windows 7 โดยเฉพาะสามารถทดสอบได้หรือไม่
Warpspace

คุณอาจไม่ชอบ Windows แต่การโพสต์ "Winblows" และ "Windoze" ที่นี่ค่อนข้างไม่เป็นมืออาชีพ -1
0xC0000022L

1
เนื่องจากฉันไม่ใช่โปรแกรมเมอร์ bootstrap มืออาชีพฉันจึงสามารถใช้ชีวิตกับ "ไม่เป็นมืออาชีพ" ได้ ฉันคิดว่าคุณอาจหมายถึง "ไม่สุภาพ" ใช่ความเห็นนั้นเมื่อ 6 ปีที่แล้ว ฉันมีการเปลี่ยนแปลงมากมายตั้งแต่นั้นมา (และมี Windows)
Warpspace

5

เทคนิคการติดตั้งจาก.isoไฟล์windows ไม่สามารถทำได้ คุณสามารถบูตจาก.isoด้วงที่ใช้ แต่หลังจากนั้น Windows จะสูญเสียการติดต่อกับตำแหน่งที่ติดตั้งหรือไม่สามารถใช้งานได้ ดังนั้นทั้งคู่grub & Windows ควรตระหนักถึงการเมานต์และบูต ปัจจุบัน Windows ไม่รองรับ

ดังนั้นคุณต้องสารสกัด / คัดลอกเนื้อหาของรากของพาร์ทิชันแล้วห่วงโซ่โหลดเป็นมันใช้.isogrub


2
ความคิดที่ดีในการแบ่งปันความรู้ แต่คุณสามารถเพิ่มการตอบคำถามในลักษณะทางเทคนิคได้โดยตรง กล่าวคือนำข้อความปัจจุบันมาใช้เป็นข้อจำกัดความรับผิดชอบอีกครั้ง แต่จากนั้นคุณสามารถขยาย "คุณสามารถบูตจาก. iso" ไปเป็นเมนูหรืออะไรก็ได้ ด้วยวิธีการที่คุณต้องการแน่นอนว่าวิธีการใดที่คุณจินตนาการว่าจะบรรลุถึงสิ่งที่ถูกถามถึงแม้ว่าคุณจะรู้ว่าจะไม่ทำงานเพื่อจุดประสงค์ที่สันนิษฐานเอาไว้ สิ่งนี้จะทำให้เข้าใจการนับจำนวนของโซลูชันที่คุณพิจารณา
n611x007
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.