วิธีการใช้คำสั่ง DD เพื่อคัดลอกไฟล์ VHD ไปยังฮาร์ดดิสก์ทางกายภาพ
ไฟล์ Virtual Hard Disk (VHD) เป็นไฟล์ยักษ์ที่เลียนแบบการใช้สื่อทางกายภาพใน VirtualBox และบางตัวจำลองเสมือน x86 / x86_64 ซึ่งช่วยให้คุณสามารถเรียกใช้ Windows, OS X, MS-DOS, FreeBSD, OpenBSD, OS / 2 หรือ Linux เวอร์ชันอื่นภายในการแจกจ่าย Linux ของคุณได้ ไฟล์เหล่านี้ไม่ยอมให้คุณเขียนเนื้อหาลงในดิสก์ทางกายภาพโดยตรงผ่านทางคำสั่ง dd ซึ่งจะช่วยให้คุณทำแบบเดียวกันกับ ISO แต่มีวิธีที่จะทำ ในขณะที่คำแนะนำบางส่วนกำหนดให้คุณต้องแปลงไฟล์ VHD เป็น ISO คุณจะไม่ต้องทำเช่นนี้หากคุณใช้งาน VirtualBox บน Linux เวอร์ชันล่าสุด ผู้ใช้ QEMU ยังมีทางออกแม้ว่าจะเกี่ยวข้องกับการเล่นรอบ ๆ
คุณจะต้องตรวจสอบให้แน่ใจว่าไม่มีไดรฟ์หรือพาร์ติชันที่คุณต้องการจะทำงานร่วมกับเครื่องใดที่คุณบูต เราใช้พาร์ทิชันหน่วยความจำแบบ NAND ที่แบ่งพาร์ติชันสำหรับตัวอย่างนี้ แต่คุณอาจต้องการใช้ดีวีดีที่ถ่ายทอดสดหรือบูต USB หากไม่สามารถทำได้ ไม่ว่าคุณจะบูตเครื่องใดในเครื่องใดก็ตามให้เริ่มต้นโปรแกรมเทอร์มินัลของคุณโดยการกด Ctrl, Alt และ T ค้นหาบน Ubuntu Dash หรือเปิดจากเมนูย่อยของ System Tools ใน Xfce4 หรือ LXDE
วิธีที่ 1: ใช้ VBoxManage จาก Command Prompt
วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการใช้การติดตั้ง VirtualBox แบบเดิม ตรวจสอบให้แน่ใจก่อนว่าคุณได้สำรองข้อมูลทั้งหมดที่คุณกังวลเกี่ยวกับการสูญเสียเนื่องจากคุณกำลังจะทำลายข้อมูลในฮาร์ดแวร์ทางกายภาพของปลายทางในขณะที่คุณอาจจะทำอะไรกับไฟล์ VHD หรือ VHDX ในกระบวนการนี้ นี้ไปสำหรับวิธีการอื่น ๆ เกินไปเช่นเดียวกับสิ่งที่เกี่ยวข้องกับคำสั่งที่มีการทำลายล้างนี้
เมื่อคุณมั่นใจว่าทุกอย่างปลอดภัยและไดรฟ์ปลายทางจะถูกต่อ แต่ติดตั้งเข้ากับเครื่องให้พูดฮาร์ดดิสก์ภายนอกที่คุณยังเสียบอยู่ แต่ไม่ได้ติดตั้งหรือแม้กระทั่งอาจเป็นข้อมูลดิบเนื่องจากคุณจะหลวมทุกสิ่งทุกอย่าง ในกระบวนการเรียกใช้ VBoxManage clonehd freeBSD.VHDX- รูปแบบ RAW freeBSD.RAW ในขณะที่แทนที่ freeBSD.VHDX กับฮาร์ดดิสก์เสมือนของคุณ เรามีไฟล์ฮาร์ดดิสก์เสมือนมีการติดตั้ง FreeBSD ในระดับค่อนข้างปานกลางเพื่อใช้ในการทดสอบเพราะฉะนั้นชื่อ
ทันทีที่คำสั่งนี้เสร็จสิ้นให้รัน sudo dd if = freeBSD.RAW of = / dev / sde แทนที่ชื่อไฟล์ RAW กับ RAW ที่คุณเพิ่งสร้างขึ้นและอุปกรณ์ป้องกัน sde กับอุปกรณ์ที่คุณสนใจจริงๆ If คุณไม่แน่ใจแล้วคุณสามารถเรียกใช้ sudo fdisk -l เพื่อให้แน่ใจว่าคุณทราบชื่อพาร์ติชันที่ถูกต้อง เช่นเดียวกับการใช้ dd สำหรับสิ่งอื่นคุณไม่ต้องการเขียนไปยังอุปกรณ์ที่ไม่ถูกต้อง
คุณอาจได้รับข้อผิดพลาดเกี่ยวกับการไม่มีพื้นที่ว่างบนอุปกรณ์เช่นเดียวกับถ้าคุณพยายามเขียนไฟล์ขนาดใหญ่ลงในอุปกรณ์ขนาดเล็ก แต่ไม่ได้ทำให้เกิดปัญหาในการทดสอบ ดูเหมือนว่าขั้นตอนนี้จะเพิ่มศูนย์เพิ่มเติม มิฉะนั้นคุณจะสามารถคัดลอกดิสก์เสมือนลงในดิสก์ทางกายภาพได้ในสองขั้นตอนโดยมีขั้นต่ำที่ต้องใช้ในการหลอกลวง
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่วิธีที่ 2: ด้วยคำสั่งเซิร์ฟเวอร์ QEMU Disk Network Block Device Server
ผู้ใช้ที่มีสิทธิ์เข้าถึงระบบเสมือนจริงของ Quick Emulator (QEMU) จะต้องจัดการกับขั้นตอนที่เกี่ยวข้องเล็กน้อยกว่าผู้ที่มีสิทธิ์เข้าถึงคำสั่ง VBoxManage ที่พรอมต์คำสั่งให้รันโปรแกรม sudo modprobe nbd ตามด้วย qemu-nbd -r -c / dev / ndb0 -f vpc ourTest.vhd โดยเปลี่ยนชื่อไฟล์เป็นชื่อไฟล์จริงที่คุณใช้งานอยู่ คุณอาจต้องใช้ sudo เพื่อรัน qemu-nbd ขึ้นอยู่กับว่าคุณได้กำหนดการติดตั้งไว้อย่างไร ถ้าคุณกำลังคัดลอกคำสั่งจากที่นี่และวางไว้แล้วตรวจสอบให้แน่ใจก่อนที่จะทำการเปลี่ยนแปลง ในกรณีส่วนใหญ่คุณจะเคยมีอุปกรณ์ ndb0 กังวลเกี่ยวกับที่นี่ดังนั้นคุณจึงไม่ควรมีปัญหาใด ๆ ที่มี
เมื่อเสร็จแล้วคุณสามารถเขียนพาร์ทิชันด้วย qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd ตามด้วย sudo ddrescure -v -f / dev / nbd2 / dev / sde2 แต่อย่าลืม แทนที่ไฟล์อุปกรณ์กับไฟล์ที่คุณสนใจจริงๆในการใช้ หากคุณกำลังคัดลอกและวางข้อมูลเหล่านี้ลงในเทอร์มินัลของคุณเองโปรดตรวจสอบว่าได้เปลี่ยนชื่อไฟล์และหมายเลขพาร์ติชันเหล่านั้นกับไฟล์ที่คุณกำลังพยายามเขียนไว้ อุปกรณ์ของเรา / dev / sde เป็นเพียงการ์ด SDHC ที่ใช้งานเราใช้ทดสอบได้อย่างปลอดภัยโดยไม่เกิดอันตรายใด ๆ คุณอาจต้องใช้ sudo เพื่อรัน qemu-nbd แต่คุณไม่จำเป็นต้องใช้ ในทำนองเดียวกันคุณอาจต้องวางหมายเลขพาร์ติชันขึ้นอยู่กับการกำหนดค่าของคุณ กระบวนการ QEMU ไม่ได้เกือบจะเป็นเรื่องง่ายสำหรับเหตุผลเหล่านี้
ผู้ใช้ Hyper-V อาจมีภาพ VHDX แทนไฟล์ VHD หากเป็นกรณีนี้คุณจำเป็นต้องเรียกใช้ qemu-nbd -c / dev / nbd0 -f VHDX ourTest.vhd ในขณะที่แทนที่ชื่อไฟล์อีกครั้ง ในขณะที่รูปแบบนี้เป็นส่วนเพิ่มเติมของ Windows Server 2012 เพื่อเพิ่มความจุขนาดใหญ่ลงในเครื่องเสมือนจริงผู้ใช้ Linux จำนวนมากขึ้นจะเปลี่ยนไปใช้เพื่อหลีกเลี่ยงขีด จำกัด 2TB VHD มิฉะนั้นคำแนะนำเหล่านี้ควรจะใช้ได้โดยไม่คำนึงถึงขนาดไฟล์ที่มีปัญหา เครื่องมือ ddrescue GNU ควรทำงานเช่น dd แม้ว่าจะทำให้แน่ใจว่าได้คัดลอกบล็อกที่ดีที่สุดก่อน
เมื่อรันระบบนี้ผู้ใช้ที่ทำงานกับภาพ VHDX จะต้องเรียกใช้ sudo ddrescue -v -f / dev / nbd2 / dev / sde2 อีกครั้งเพื่อแทนที่ไฟล์ข้างต้น มิเช่นนั้นทุกคนที่มีรูปภาพ VirtualBox ทุกประเภทสามารถใช้ qemu-nbd -P 2-r -c / dev / nbd2 -f vpc ourTest.vhd เพื่อติดตั้งพาร์ติชันที่สงสัยว่าเดิมเป็นดิสก์เก่า คุณจะต้องใช้ sudo mount / dev / nbd2 / cdrom หรือ sudo mount / dev / nbd2 / mnt เพื่อติดตั้ง ตรวจสอบให้แน่ใจว่าคุณไม่มีอะไรอื่นติดตั้งอยู่ในไดเร็กทอรี / cdrom หรือ / mnt ก่อนที่คุณจะลอง
วิธีที่ 3: การยกเลิกการเชื่อมต่อแล้วจึงยกเลิกการเชื่อมต่อไฟล์
หากต้องการยกเลิกการต่อเชื่อมภาพคุณต้องใช้ sudo umount / mnt หรือ sudo umount / cdrom เพื่อถอดออก เคอร์เนลลินุกซ์เองหลังจากทั้งหมดถูกยุ่งในการรักษามันราวกับว่ามันเป็นไดรฟ์ข้อมูลอื่น ๆ
คุณยังคงต้องตัดการเชื่อมต่อจากระบบ QEMU แม้ว่าจะพิมพ์ qemu-ndb -d / dev / nbd2 เพื่อยกเลิกการเชื่อมต่อ
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่