ไม่สามารถบูตได้หลังจากปรับขนาดฮาร์ดไดรฟ์ vhd ใน VirtualBox


15

ใน Windows 7 ฉันตั้งค่า VM 7 ของ Windows อื่นใน VirtualBox มันใช้งานได้ดีมาก จากนั้นฉันต้องเพิ่มขนาด vhd HD ดังนั้นฉันใช้ยูทิลิตี้ VBoxManage เพื่อทำเช่นนั้นด้วยความคิดเห็นต่อไปนี้:

VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000

จากนั้นฉันพยายามเรียกใช้ VM อีกครั้ง แต่ไม่สามารถบูตได้และทำให้ฉันมีข้อผิดพลาดต่อไปนี้:

FATAL: ไม่พบสื่อที่สามารถบู๊ตได้! ระบบหยุดทำงาน.

จากนั้นผมพยายามที่จะมองเห็นสิ่งที่เกิดขึ้นภายใน VHD และพยายามที่จะแนบไว้ในการจัดการอุปกรณ์และกล่าวว่ามันไม่สามารถแนบเพราะแฟ้มหรือไดเรกทอรีเสียหายและไม่สามารถอ่าน

มีความคิดใดที่ผิดพลาดที่นี่และฉันจะบันทึก VM ของฉันไว้ในไฟล์ VHD นั้นได้อย่างไร


ฉันเพิ่งพบปัญหาเดียวกันและฉันไม่สามารถหาวิธีแก้ปัญหาที่เป็นประโยชน์ออนไลน์ได้ดังนั้นฉันจึงเริ่มวิเคราะห์ VHD ด้วยมือตามเอกสารของ Microsoft ขณะนี้ดูเหมือนว่ามีข้อผิดพลาดในการนำไปใช้ของ modifiedhd ซึ่งไม่ได้ปรับออฟเซ็ตเป็นบล็อคข้อมูลหลังจากขยายตารางการจัดสรรบล็อก ฉันต้องแสดงความเห็นเพิ่มเติมเพื่อยืนยันสิ่งนี้
billc.cn

บน VirtualBox 4.3.10 ฉันปรับขนาดไฟล์. vhd ดูเหมือนว่าไม่เพียง แต่จะไม่ปรับตัวชี้ตารางการจัดสรรบล็อก แต่ขยายตารางการจัดสรรบล็อกเป็นบล็อกแรกของข้อมูลเขียนทับ MBR และตารางพาร์ติชันของฉันอย่าใช้ VirtualBox เพื่อปรับขนาดไฟล์. vhd!
แอรอน

คำตอบ:


12

น่าเสียดายที่เอกสารประกอบ VirtualBox สำหรับตัวเลือก VBoxManage --resize ทำให้เข้าใจผิด คุณไม่สามารถเพิ่มขนาดของดิสก์อิมเมจและทำให้ทุกอย่างทำงานได้อย่างถูกต้อง ข้อมูลพาร์ติชั่นดิสก์ภายในภาพจะต้องมีการปรับเพื่อให้ระบบปฏิบัติการเกสต์รู้โครงร่างของ "ไดรฟ์" ที่ภาพดิสก์จำลองอยู่ คุณทำการปรับแต่งนี้ได้สำเร็จโดยการดาวน์โหลดอิมเมจซีดีที่สามารถบู๊ตได้ซึ่งมีตัวแก้ไขพาร์ติชั่นอยู่และทำการบูท VM ลงบนซีดีนั้น จากนั้นคุณใช้ตัวแก้ไขพาร์ติชันเพื่อปรับพาร์ติชันของอิมเมจดิสก์เพื่อใช้พื้นที่เพิ่ม

มี writeup ดีของขั้นตอนที่เป็นที่นี่ ; เพียงข้ามไปขั้นตอนที่ 4


นั่นเป็นคนเกียจคร้าน ซึ่งหมายความว่าฉันเพิ่งทิ้งงาน 3 ชั่วโมง ขอบคุณสำหรับข้อมูล.
tugberk

4
ฉันติดตาม writeup ที่ดี (หลังจากฉันปรับขนาด vhd ของฉันและไม่สามารถบูตได้จากนั้น) และ GParted ไม่ได้แสดงพาร์ทิชันใด ๆ บนฮาร์ดไดรฟ์เพียง 50 กิ๊กของพื้นที่ที่ไม่ได้ถูกจัดสรร นั่นหมายความว่าจะทำให้modifyhdเมาเกินกว่าจะซ่อมหรือไม่
GSerg


1

ฉันมีปัญหาเดียวกันและฉันจัดการเพื่อดึงข้อมูลโดยใช้GParted LiveCD

  1. สร้าง VHD ใหม่เพื่อรับข้อมูลที่คัดลอก (สร้างพาร์ติชันและรูปแบบ)
  2. ดาวน์โหลด GParted LiveCD และบูตบน VirtualBox
  3. เลือกอุปกรณ์ -> ความพยายามในการช่วยเหลือข้อมูล
  4. คลิกตกลงและหลังจากมุมมองสแกนคลิก (สิ่งนี้จะเมานต์ / tmp / gparted-roview-XXXXXX)
  5. บนเทอร์มินัลเมานต์ VHD ตัวที่สอง (sudo mount / dev / sdb1 / mnt)
  6. คัดลอกไฟล์ (sudo cp -R / tmp / gparted-roview-XXXXXX / * / mnt

หลังจากนั้นคุณสามารถปิดเครื่องเสมือนและติดตั้ง VHD บน Windows Device Manager


1

ที่นี่พวกเขาอธิบายปัญหา (เป็นภาษาสเปน)

สรุป:

"vboxmanage modifiedhd (ปรับขนาด)" สร้างข้อผิดพลาดในหลาย ๆ ระบบ (Windows NT5, 9x, เซิร์ฟเวอร์และรุ่น x86) ผลที่ได้คือพาร์ติชันที่เสียหายยากมากในการกู้คืน

ข คุณต้องดำเนินการ "vboxmanage modifiedhd (resize)" (เพื่อปรับขนาด VDI) ในพา ธ ที่มีไฟล์และโฟลเดอร์ทั้งหมดที่เกี่ยวข้องกับ VDI ดูภาพ

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

คำแนะนำ:

แทนที่ "vboxmanage modifiedhd" ด้วย "vboxmanage clonehd"

  1. สร้างดิสก์เสมือน VDI ใหม่ (ด้วยขนาดที่คุณต้องการขยาย) ตัวอย่าง: Old.vdi มี 50gb New.vdi สร้างด้วย 100GB

    VBoxManage createhd --filename /path/New.vdi - ขนาด 100000

  2. โคลนด้วยคำสั่งต่อไปนี้:

    vboxmanage clonehd /path/Old.vdi /path/New.vdi - มีอยู่แล้ว

หมายเหตุ : VDI ทั้งสองไม่ควรอยู่ในเส้นทางเดียวกัน

  1. เรียกใช้ New.vdi และไปที่ Windows Computer Management และขยายพื้นที่ดิสก์ (กำหนดพื้นที่ว่าง) หากคุณไม่ต้องการทำด้วยตนเองคุณสามารถใช้แอปพลิเคชันการแบ่งพาร์ติชันฟรีเช่นAOMEI Partition Assistant Standard , GPartedและอื่น ๆ อีกมากมาย

อัปเดตคำตอบ

0

เป็นสิ่งที่ควรสังเกตว่าฉันได้รับปัญหาเดียวกันซึ่งเกิดจากการที่ฉันออกคำสั่งแก้ไขขณะที่แขกกำลังทำงานอยู่ เอกสารอย่างเป็นทางการไม่ได้เกี่ยวกับว่าคุณต้องลบภาพรวมก่อนและแขกที่ควรจะหยุด

แผนของฉันคือปรับขนาดดิสก์ในขณะที่เครื่องกำลังทำงานเพราะฉันมีไดรฟ์ข้อมูลแบบไดนามิกซึ่งสามารถเพิ่มได้ทันที อย่างไรก็ตามนี่เป็นความคิดที่ไม่ดีเพราะฉันรีบูทเครื่องเพื่อให้ได้ขนาดดิสก์เต็มรูปแบบที่ฉันทิ้งไว้ในที่มืดด้วยภาพที่เสียหายซึ่งฉันไม่สามารถกู้คืนได้แม้ว่าจะเป็น testdisk ก็ตาม Testdisk ค้นหาพาร์ติชัน แต่ระบบไฟล์เสียหายอย่างรุนแรงและไม่สามารถซ่อมแซมได้

ดังนั้นควรได้รับคำแนะนำ:

  1. รวมภาพรวมทั้งหมดไว้ในภาพฐาน
  2. ปิด Guest OS

ฉันได้ทำขั้นตอนซ้ำบนเครื่องของฉันด้วยอิมเมจสำรองและระบบปฏิบัติการ guest กำลังปิดอยู่ซึ่งทำงานได้ดี


0

ฉันสามารถกู้คืนรูปภาพที่ถูกทำลายด้วยจุดบกพร่องนี้ได้ ไม่เหมือนกับเอดิสัน แต่ภาพสดไม่ได้พบอะไรเลย นี่คือสิ่งที่ฉันทำ:

  • เป็นครั้งแรกนับตั้งแต่ที่เห็นได้ชัดว่าการสนับสนุน VBox สำหรับ VHD เป็นรถและน่ากลัวเริ่มต้นโดยการแปลง VHD เพื่อ VDI VBoxManage clonehd foo.vhd --format vdi foo.vdiด้วย เมื่อฉันข้ามขั้นตอนนี้ฉันสามารถกู้คืนไฟล์จากภาพ แต่มันจะ "แตกตัวเอง" อีกครั้งหลังจากรีบูตสักครู่ ฉันคาดเดาข้อผิดพลาดจริงๆไขไฟล์ VHD ในแบบที่ I / O "แบ่งใหม่" ในภายหลัง ... VBox ดูเหมือนจะไม่มีปัญหาเหล่านี้กับ VDI ดังนั้นฉันจึงเลิก VHD

  • บูตเข้าสู่ WinPE ซึ่งเป็นสภาพแวดล้อมการติดตั้งล่วงหน้าของ Windows วิธีการทำเช่นนี้อาจเป็นบทความแก่ตัวเอง หากคุณไม่คุ้นเคยกับทางลัดนี่: บูตจากดีวีดีติดตั้ง Windows (Vista หรือสูงกว่า) และกด Shift-F10 เมื่อ GUI ปรากฏขึ้นมันจะให้พรอมต์คำสั่งแก่คุณ

  • ดาวน์โหลดtestdiskค้นหาวิธีที่จะนำไปไว้ในอิมเมจ WinPE ของคุณ (หรือแท่ง USB แบบธรรมดาก็ใช้งานได้) และเรียกใช้จากสภาพแวดล้อม WinPE (หมายเหตุ: WinPE ไม่มี WOW64 ซึ่งเป็นเลเยอร์ความเข้ากันได้แบบ 32 บิตสำหรับแอปแบบ 32 บิตดังนั้นการตั้งค่า WinPE แบบ 64 บิตของฉันจึงจำเป็นต้องใช้ไบนารี testdisk แบบ 64 บิต)

  • Testdisk พบพาร์ติชันและกู้คืนพาร์ติชันเหล่านั้น

  • ณ จุดนี้ไฟล์ถูกกู้คืน แต่ bootloader ล้มเหลวสำหรับปัญหาหลายประการ ครั้งแรกที่ฉันใช้diskpartในการทำเครื่องหมายพาร์ทิชันที่ใช้งาน ( list disk, sel disk <disk number>, sel par 0, active) อีกต่อไปจะไม่บูต กลับไปที่ WinPE แล้วลบออก\bootจากนั้นจึงรันbcdboot C:\windows /s C:เพื่อติดตั้ง bootloader

  • ในตอนท้ายฉันวิ่งchkdisk /Rไปเพื่อให้แน่ใจว่าภาพนั้นโอเค ใช้เวลาสองสามชั่วโมงไม่พบปัญหาใด ๆ


-1

ฉันมีปัญหาเดียวกัน GParted ไม่รู้จักพาร์ติชันเลยและมันก็แสดงว่าเป็นพื้นที่ที่ไม่ได้ถูกจัดสรร ณ จุดนี้ฉันเข้าใจว่าข้อมูลอาจหายไป

จากนั้นฉันจำได้ว่าใช้ testdisk เพื่อค้นหาพาร์ติชั่นที่หายไปในฮาร์ดไดรฟ์ดังนั้นทำไมไม่ลองกับดิสก์เสมือนล่ะ และมันก็ใช้งานได้

  1. บูตจาก GParted ในขณะที่เขียนคำตอบนี้ GParted มี "testdisk" อยู่ข้างใน เพียงเรียกใช้เทอร์มินัลเรียกใช้ "sudo testdisk / dev / sda" หรืออะไรก็ตามที่ปรากฏในคอมพิวเตอร์ของคุณ เรียกใช้ "sudo fdisk -l" เพื่อแสดงดิสก์ทั้งหมด
  2. วิเคราะห์ Partition Table มันจะค้นพบพาร์ติชั่นทันทีเนื่องจากมันยังอยู่ในภาคแรก เขียนพาร์ติชันใหม่ตารางแล้วดำเนินการกับ GParted เพื่อดำเนินการกู้คืนต่อตามคำแนะนำในลิงก์นี้: http://www.howtogeek.com/124622/how-to-enlarge-a-virtual-machines-disk-in-virtualbox -or-VMware /
  3. ครั้งต่อไปที่คุณต้องการทำสิ่งนี้ให้ทำสำเนา VDISK ของคุณก่อน
  4. ฉันสังเกตเห็นในลิงค์ด้านล่างที่พวกเขาสร้าง VHD ใหม่แล้วโคลนด้วย --existing: http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual- box-vdi-dis / ฉันยังไม่ได้ลอง แต่ฉันกู้คืนดิสก์ตามคำแนะนำด้านบน

หวังว่าจะช่วยให้ใครบางคน


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