ฉันจะย้ายไฟล์บูต Windows 7 (bootmgr, ... ) ไปยังไดรฟ์อื่นได้อย่างไร


10

ฉันต้องการเซ็ตอัพดูอัลบูต ดังนั้นก่อนอื่นฉันติดตั้ง Windows 7 ในพาร์ติชันที่ 1 ของฮาร์ดไดรฟ์หนึ่งตัว (เราจะเรียกมันว่า HDD1) จากนั้นฉันก็ไปติดตั้ง Ubuntu 9.10 บนพาร์ติชั่นที่สองของ HDD1 น่าเสียดายที่นี่ใช้งานไม่ได้ (มันผ่าน GRUB2 และเข้าสู่ Windows โดยตรง) ฉันตัดสินใจที่จะติดตั้ง Ubuntu อีกครั้งและนั่นคือเมื่อฉันสังเกตเห็นว่า (ด้วยเหตุผลบางอย่าง) Windows ตัดสินใจที่จะวางไฟล์บูตไว้ในฮาร์ดไดรฟ์อื่น (เราจะเรียกมันว่า HDD3)

ฉันต้องการแก้ไขปัญหานี้ - ฉันต้องการย้ายไฟล์บูตจาก HDD3 ไปยัง HDD1 มันอาจช่วยแก้ไขปัญหาการดูอัลบูตของฉัน แต่ถึงแม้ว่ามันจะไม่ได้ก็ตามในประสบการณ์ของฉันมันจะช่วยลดอาการปวดหัวลงได้มาก ฉันจะทำสิ่งนี้ได้อย่างไร ฉันจะสมมติว่ามันไม่ง่ายเหมือนกับการคัดลอกไฟล์ แต่ฉันต้องการพิสูจน์ว่าผิด :)

คำตอบ:


16

ผ่าน Googling ฉันพบวิธีแก้ไขปัญหาต่อไปนี้ (ฉันใช้ HDD1 และ HDD3 เพื่อเป็นตัวแทนของฮาร์ดไดรฟ์ทั้งสองที่ฉันสนใจตามที่อ้างถึงข้างต้นในคำถามของฉัน):

  1. ไฟล์บูตประกอบด้วยโฟลเดอร์ที่เรียกว่าBootและแอพลิเคชันที่เรียกว่าBootmgr มันเป็นไฟล์ระบบและโดยปกติจะซ่อนอยู่ คุณต้องทำให้มองเห็นได้
  2. คัดลอกทั้งจาก HDD3 ไปยัง HDD1 จะบ่นว่าไม่สามารถคัดลอกสองไฟล์: BCDและBCD.logซึ่งทั้งสองไฟล์อยู่ในโฟลเดอร์Boot หลังเป็นสิ่งสำคัญ (เป็นเพียงไฟล์บันทึก) และสามารถละเว้นได้ อดีตจะถูกคัดลอกในขั้นตอนต่อไป
  3. เปิดพรอมต์คำสั่งที่มีสิทธิ์ของผู้ดูแลระบบ พิมพ์คำสั่งต่อไปนี้: bcdedit /export HDD1:\Boot\BCDโดยที่ HDD1 เป็นตัวอักษรไดรเวอร์ของไดรฟ์ปลายทางของคุณ ในกรณีของฉัน HDD1 เป็นCbcdedit /export C:\Boot\BCDเพื่อให้คำสั่งเป็น
  4. ตอนนี้คุณต้องแก้ไขไฟล์BCDเพื่อให้รายการทั้งหมดถูกต้อง ฉันใช้โปรแกรมbcdeditซึ่งมาพร้อมกับ Windows 7 แต่มีคนอื่นด้วย ฉันได้ยินมาว่าEasyBCDนั้นค่อนข้างดี (และฟรี) แต่เวอร์ชันล่าสุดไม่รองรับ Windows 7 อย่างสมบูรณ์ฉันเชื่อว่าเวอร์ชันใหม่ที่รองรับ Windows 7 จะออกในไม่ช้า ครั้งแรกผมนำทางไปยังHDD1 \ Bootคำสั่งพรอมต์ (ที่มีสิทธิ์ Admin) bcdedit /store BCD /enum ALLและประเภท ฉันใช้/storeสวิตช์เพื่อระบุไฟล์BCDในไดเรกทอรีปัจจุบันการไม่ใช้สวิตช์นี้จะใช้ค่าเริ่มต้นที่ฉันคิดซึ่งอยู่บน HDD3 คำสั่งนี้แสดงรายการทั้งหมดในไฟล์BCD
  5. ฉันสแกนรายการและปรากฎว่ารายการสำหรับ{bootmgr}และ{memdiag}ทั้งสองชี้ไปที่ HDD3 แน่นอนฉันต้องการให้พวกเขาชี้ไปที่ HDD1 bcdedit /store BCD /set [entry_name] device partition=HDD1:ดังนั้นผมจึงออกคำสั่งในรูปแบบต่อไปนี้: ตั้งแต่ HDD1 คือCบนเครื่องของฉันฉันจะพิมพ์ต่อไปนี้เพื่อตั้งค่ารายการ:{bootmgr}bcdedit /store BCD /set {bootmgr} device partition=C:

เกี่ยวกับมัน. ขั้นตอนสุดท้ายคือการทำให้ HDD1 ใช้งานผ่านDisk Management(เข้าถึงได้จากการจัดการคอมพิวเตอร์) - มันใช้งานได้แล้วในระบบของฉันดังนั้นฉันไม่ต้องทำอะไรเลย

ตอนนี้สำหรับปัญหาการดูอัลบูตแปลก ๆ มันกลับกลายเป็นว่าฉันลืมว่าฉันได้เปลี่ยนลำดับของฮาร์ดไดรฟ์ ดังนั้นคำสั่งการบู๊ต BIOS จึงไม่ถูกต้อง (มันพยายามบูตจากHDD3ก่อนแทนที่จะเป็น HDD1) และใช่ว่าเป็นข้อผิดพลาดที่โง่อย่างไม่น่าเชื่อในส่วนของฉัน :)


ไม่จำเป็นต้องมีขั้นตอนที่สองของ attrib เนื่องจากการตั้งค่าสถานะ attrrib ในไฟล์ต้นฉบับคือ + a only

คำแนะนำเหล่านี้มีประโยชน์มาก ฉันมีหลายเครื่องบูตคู่ใช้ Win7 และ Ubuntu และช่วงเวลาที่ฉันได้พบทางออกที่ถาวรที่ดีที่สุดนี้คือ BootIt NG terabyteunlimited.com/bootit-next-generation.htm
jtreser

หากคุณพบปัญหาที่ตัวจัดการการบูตอยู่ใน System Reserve Partition คุณสามารถกำหนดอักษรระบุไดรฟ์จาก Disk Management เพื่อให้คุณสามารถเข้าถึงไฟล์และคัดลอกได้ คำตอบที่ดี!
Nate Bundy

1

วิธีที่ง่ายที่สุดคือเพียงดาวน์โหลดและติดตั้ง EasyBCD ฟรี: http://neosmart.net/dl.php?id=1

ในหน้า "การสำรองข้อมูล / ซ่อมแซม BCD" ของ EasyBCD มีตัวเลือกที่ชื่อว่า "Change Boot Drive" ซึ่งจะแสดงรายการของดิสก์ในเครื่องทั้งหมด คุณเพียงแค่เลือกดิสก์ที่คุณต้องการและ EasyBCD จะทำให้กระบวนการทั้งหมดเป็นอัตโนมัติสำหรับคุณรวมถึงการทำให้พาร์ติชันที่เลือกใช้งานและสามารถบูตได้นำเข้าเนื้อหา bootloader เก่าและเขียน MBR

(การเปิดเผย: ฉันเป็นผู้เขียน EasyBCD)


1
คำแนะนำที่ดีสำหรับการดาวน์โหลดโดยเฉพาะถ้าคุณไม่สามารถบูตได้
Ewoks

หากคุณไม่สามารถดาวน์โหลดได้คุณสามารถใช้ซีดี EasyRE ที่สามารถบู๊ตได้แทน: neosmart.net/EasyREคุณใช้พีซีเครื่องอื่นเพื่อสร้างซีดีที่สามารถบูตได้และบูตจากมันเพื่อแก้ไขพีซี
Mahmoud Al-Qudsi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.