การสร้างไฟล์ Windows EFI ขึ้นใหม่ในพาร์ติชั่น / boot (Linux + Windows dual boot)


19

ฉันกำลังบูทคู่กับ Windows 10 (อัปเดตก่อนวันครบรอบ) และ Fedora 24 บน Lenovo IdeaPad N580 (Intel Pentium B960 2.2GHz, 4GB RAM, UEFI พร้อม Secure Boot ปิดใช้งาน) ตอนแรกฉันมี Windows 10 แล้วติดตั้ง Fedora 23 ข้างๆและทุกอย่างทำงานได้ดี - มันทำงานได้ดีเมื่อฉันอัพเกรดเป็น Fedora 24 เมื่อกลับมาฉันตัดสินใจว่าฉันอยากลองใช้ Ubuntu และติดตั้งเฉพาะการแทนที่ราก / boot และ SWAP พาร์ทิชันและรักษาพาร์ทิชันที่บ้านของฉัน Windows 10 ยังคงสามารถบู๊ตได้ที่นี่ จากนั้นฉันตัดสินใจว่าฉันไม่ชอบ Ubuntu และติดตั้ง Fedora ใหม่ด้วยตัวติดตั้ง 24 ตัวพยายามทำสิ่งที่ฉันทำกับ Ubuntu อินเทอร์เฟซแตกต่างกันเล็กน้อย แต่ฉันแน่ใจว่าฉันทำอย่างถูกต้อง: หลังจากที่ฉันทำการตั้งค่าพาร์ติชันทั้งหมดมันทำให้ฉันมีป๊อปอัพบอกว่า "เราจะแตะพาร์ติชันเหล่านี้เท่านั้น" และพาร์ติชันที่แสดงรายการนั้นเป็น root / boot และ SWAP ไม่มีอะไรอีกแล้ว.

จากนั้นเมื่อติดตั้งเสร็จฉันก็เริ่มระบบใหม่ ตัวเลือกเดียวในเมนู GRUB คือ Fedora และ Fedora Recovery - ไม่มีอะไรอื่น ไม่มี Windows

ฉันลองติดตั้ง rEFInd ซึ่งใช้งานได้ในอดีต แต่มันก็ไม่ได้ช่วยมันทำให้ฉันมีสองทางเลือก

พาร์ติชัน Windows ยังคงมีอยู่และฉันสามารถเข้าถึงได้จาก Fedora - ไฟล์สำคัญเช่น / bootmgr และ / Boot / BCD ดูไม่เป็นอันตราย พาร์ติชัน Windows อยู่ที่ / dev / sda5

ในการตั้งค่า BIOS ที่ Windows Boot Manager เคยปรากฏก็ไม่ปรากฏขึ้น มันมี rEFInd และรายการที่มีหมายเลขรุ่นของฮาร์ดไดรฟ์ของฉัน - ซึ่งฉันสมมติว่าเพิ่งนำฉันมาที่เมนู GRUB (ฉันยังไม่ได้ลองนำไปไว้ด้านบนสุดของรายการแล้วรีบูตแม้ว่า - ฉันค่อนข้างขี้เกียจ: P)

ใครช่วยได้บ้าง

UPDATE: Manoj ระบุปัญหา: โดยการฟอร์แมตพาร์ติชั่น / boot ฉันทำการกำจัดไฟล์ Windows EFI /boot/efi/EFI/Microsoftดังนั้นผมจึงจำเป็นต้องสร้างไฟล์ที่ ผมคิดว่าผมได้สร้างขึ้นใหม่ไดเรกทอรี/boot/efi/EFI/Microsoft/Bootแต่ฉันจำเป็นต้องใช้ไฟล์อื่น ๆ Microsoftใน มีคนบอกฉันว่าฉันต้องการไฟล์อะไรบ้าง


โอ้, the bootmgfw.efi, bootmgr.efiและmemtest.efiไม่ได้อยู่ที่นั่น ...
TheInitializer

ไฟล์เหล่านั้นอยู่ในwindows partition/Windows/Boot/EFI!!!
TheInitializer


เนื่องจากคุณไม่ได้สำรองข้อมูล (เพราะเหตุใด) คุณควรแก้ไขคำถามของคุณ "ฉันจะสร้างไฟล์สำหรับบูต Windows UEFI ใหม่ได้อย่างไร"
Xalorous

ฉันสร้างโฟลเดอร์ EFI จากไฟล์ที่พบในพาร์ทิชัน windows ของฉันคิดว่ามันจะใช้งานได้หรือไม่ storage2.static.itmages.com/i/16/0809/...
TheInitializer

คำตอบ:


21

เนื่องจากคุณได้คัดลอกไฟล์ที่จำเป็นทั้งหมดไปยังboot/efi/EFI/Microsoft/Bootคุณต้องสร้างการกำหนดค่า windows loader ใหม่ คุณจะต้องมี windows usb หรือ dvd ที่สามารถบู๊ตได้ (64 บิตจะดีกว่า)

1: บูตจากสื่อที่สามารถบู๊ตได้ ตรวจสอบให้แน่ใจว่าคุณกำลังทำการบูทในโหมด UEFI

2: ที่หน้าจอแรก (ที่มันขอให้คุณเลือกภาษาและคีย์บอร์ด) Shift + F10กด สิ่งนี้จะทำให้คุณพร้อมรับคำสั่ง

3: พิมพ์diskpartแล้วlist disk(เพื่อแสดงรายการดิสก์ที่มีอยู่ทั้งหมด) select disk #เลือกฮาร์ดไดรฟ์ที่เหมาะสมโดยการพิมพ์

4: พิมพ์ตอนนี้list partitionและตรวจสอบให้แน่ใจว่ามีพาร์ติชันชนิดsystem(พาร์ติชัน efi) เลือกพาร์ติชันนี้โดยการพิมพ์select partition #และกำหนดอักษรไดรฟ์ชั่วคราวไปพูดโดยการพิมพ์Gassign letter=G

5: list volเพียงเพื่อให้แน่ใจว่าไดรฟ์ที่ได้รับมอบหมายให้พิมพ์ได้อย่างถูกต้อง คุณควรเห็นเล่มด้วยdrive letter (Ltr) as G&file system (Fs) as FAT32

6: ปิดdiskpartโดยพิมพ์ exit X:\Sourcesตรวจสอบให้แน่ใจว่าคุณอยู่ใน

7: cd /d G:\EFI\Microsoft\Boot\ประเภท ตอนนี้รันคำสั่งเหล่านี้ทีละคน

bootrec /scanos     
bootrec /fixmbr    
bootrec /fixboot
bootrec /rebuildbcd    
bcdboot C:\Windows /l en-us /s G: /f ALL

8: ปิดพรอมต์คำสั่งและรีสตาร์ทระบบ ตอนนี้คุณควรบูทเข้าสู่ windows

9: แน่นอนคุณอาจไม่มีหรือไม่มีเมนูด้วงในขณะนี้ แต่การติดตั้งด้วงนั้นง่ายกว่ามาก ติดตามหนึ่งในลิงค์เหล่านี้เพื่อดูข้อมูลเพิ่มเติม

link1 , link2 , link3

แหล่งที่มา: 1 , 2 , 3 , 4

แก้ไข - ตรวจสอบให้แน่ใจว่าคุณลบอักษรระบุไดรฟ์ G ที่กำหนดให้กับพาร์ติชัน efi โดยเร็วที่สุดเพื่อป้องกันไม่ให้แสดงใน My Computer


ขอบคุณ แต่ฉันไม่มี USB สำหรับการกู้คืน (ฉันค่อนข้างโง่) และฉันไม่สามารถสร้างขึ้นมาได้หากไม่สามารถเข้าถึง Windows ได้ ฉันจะพยายามหาวิธีที่จะทำให้
TheInitializer

1
ขอบคุณมากมันใช้งานได้ !! โพสต์จาก Windows: D
TheInitializer

1
bootrec /rebuildbcdล้มเหลวสำหรับฉัน แต่ทำงานได้หลังจากข้ามไปแล้ว
en4bz

1
ขอบคุณสำหรับลิงก์แหล่งที่มาช่วยให้เข้าใจและใช้เฉพาะสิ่งที่จำเป็น หลังจากนั้นเพื่อโหลด rloadIn bootloader อีกครั้งฉันใช้ bcdedit ตามที่อธิบายไว้ที่นี่ : bcdedit /set "{bootmgr}" path \EFI\refind\refind_x64.efi
Pau Coma Ramirez

คุณสามารถทำอะไรถ้าพาร์ทิชันของคุณไม่ปรากฏโดยlist disk?
Harsha Goli

0

mkdir $HOME/backup && sudo cp -R /boot $HOME/backupก่อนที่จะเริ่มกลับขึ้นบูตพาร์ทิชันของคุณโดยใช้ พาร์ทิชันสำหรับบูตมักจะถูก จำกัด ไว้ที่ 100MB ดังนั้นจึงควรมีขนาดเล็กมาก

หากคุณยังคงมีสื่อสำหรับบูต Windows 10 (เช่นแท่ง USB หรือ DVD) คุณจะสามารถค้นหาไฟล์ EFI ที่นั่นได้

หากคุณไม่ได้มีสื่อที่สามารถบูต Windows ที่คุณสามารถติดมาตรฐาน ISO ( ดาวน์โหลดถ้าจำเป็น ) sudo mkdir /tmp/win10iso && sudo mount -o loop /location/of/win10.iso /tmp/win10isoโดยใช้คำสั่ง

เมื่อคุณคัดลอกไฟล์เหล่านั้นไปยัง EFI พาร์ทิชันของ Windows /etc/grub.d/40_customประสบความสำเร็จเพิ่มรายการไปยังไฟล์ที่

รายการจะมีลักษณะเช่นนี้:

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

ในการกำหนดค่าด้วงhdXย่อมา/dev/sdXและยืนสำหรับmsdosY /dev/sdXYโปรดทราบว่า hdX เริ่มต้นที่ 0 และ / dev / sdX เริ่มต้นที่ A

sudo update-grub2หลังจากที่ทำปรับปรุงด้วงของคุณด้วย รายการบูต Windows ควรจะอยู่ที่นั่น


ขอบคุณฉันกำลังดาวน์โหลด ISO ตอนนี้ (มันเป็นไฟล์ใหญ่!)
TheInitializer

ฉันเมานต์ ISO แล้วและมีคำถาม - ฉันควรคัดลอกไฟล์ใดและไปยังโฟลเดอร์ใด ฉันเดามาจากWindows ISO/bootถึง/boot/efi/EFI/Microsoftแต่ฉันไม่แน่ใจจริงๆ
TheInitializer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.