โดยค่าเริ่มต้น VirtualBox จัดเก็บข้อมูลทั้งหมดในไดเรกทอรีด้านล่างไดเรกทอรีบ้าน ฉันรู้วิธีการเปลี่ยน แต่ฉันจะเปลี่ยนตำแหน่งของภาพที่มีอยู่ (ไม่ต้องแก้ไข VirtualBox.xml ด้วยตนเอง) ได้อย่างไร
ฉันกำลังทำงานบน Windows และไม่ต้องการที่จะลองใช้การเชื่อมโยง
โดยค่าเริ่มต้น VirtualBox จัดเก็บข้อมูลทั้งหมดในไดเรกทอรีด้านล่างไดเรกทอรีบ้าน ฉันรู้วิธีการเปลี่ยน แต่ฉันจะเปลี่ยนตำแหน่งของภาพที่มีอยู่ (ไม่ต้องแก้ไข VirtualBox.xml ด้วยตนเอง) ได้อย่างไร
ฉันกำลังทำงานบน Windows และไม่ต้องการที่จะลองใช้การเชื่อมโยง
คำตอบ:
หากคุณต้องการย้าย VM ทั้งหมดของคุณไปยังตำแหน่งใหม่ทั้งหมดคุณควรปฏิบัติตามคำตอบ 2 ข้อต่อไปนี้:
คัดลอกโพสต์ที่นี่:
- ปิดการใช้งาน VirtualBox สำรองไฟล์. VirtualBox \ VirtualBox.xml ของคุณ
- ค้นหาโฟลเดอร์ "Virtualbox VMs" ที่มีอยู่ของคุณและคัดลอก (ไม่ย้าย) โฟลเดอร์ทั้งหมดพร้อมเนื้อหาไปยังไดรฟ์ใหม่ E:
เรียกใช้ VirtualBox จากนั้นให้แต่ละ VM หันมา:
3.1 คลิกขวาที่ชื่อ VM และเลือก "ลบ" จากเมนูป๊อปอัพ ตอบไม่ใช่เพื่อ "ลบไฟล์ทางกายภาพหรือไม่" คำถาม.
3.1b หลังจากลบ VM ออกจาก UI คุณต้องปิด VirtualBox และปล่อยให้มันปิดไว้นานพอสำหรับงาน VBoxSVC พื้นหลังที่จะหมดเวลาและยุติด้วย จากนั้นคุณสามารถเริ่มแอป VirtualBox อีกครั้งและใช้เครื่อง | เพิ่มเพื่อเพิ่ม VMs ที่ลบออกในขั้นตอนก่อนหน้า
3.2 เลือกรายการเมนู Machine | Add .. นำทางไปยังตำแหน่งใหม่ของ VMs บนไดรฟ์ E: และเลือกไฟล์. vbox
3.3 ทำซ้ำสำหรับ VMs ที่เหลืออยู่
- ในไฟล์ | การตั้งค่ากำหนดเส้นทางของเครื่องเริ่มต้นเป็น "E: \ VirtualBox VMs"
- ทดสอบ VMs แต่ละรายการ หลังจากที่คุณแน่ใจแล้วว่ามันทำงานได้ทั้งหมดให้ลบ VM เก่าที่มีโฟลเดอร์เช่นลบ "C: \ VirtualBox VMs"
.VirtualBox\VirtualBox.xmlไฟล์และทำการค้นหา / แทนที่ นอกจากนี้ฉันเท่านั้นที่ย้ายMachinesและHardDiskโฟลเดอร์ไม่ใช่ไฟล์ทั้งหมดที่อยู่ภายใต้.VirtualBoxเพราะนั่นคือทั้งหมดที่การกำหนดค่าระดับโลกและการเข้าสู่ระบบและเช่นนั้น
VirtualBox.xml เวชวลแมชชีนที่ตั้งอยู่ใน~/Library/VirtualBox/VirtualBox.xml ~/VirtualBox VMs
VBoxManage list vmsผ่าน 2) ถัดจากชื่อของ VMs ภายในวงเล็บปีกกา UUID ของพวกเขาจะถูกอ้างอิง คัดลอกหนึ่งที่น่าสนใจ VBoxManage showvminfo UUIDรายละเอียดเกี่ยวกับเรื่องนี้สามารถเรียกดูได้ผ่านทาง 3) ยกเลิกการลงทะเบียน VM VBoxManage unregistervm UUIDน่าสนใจผ่านทาง 4) ย้ายไดเรกทอรีของ VM ที่น่าสนใจ 5) สุดท้ายลงทะเบียนเครื่องผ่านVBoxManage register NameOfVM.vbox- แน่นอนโดยที่ NameOfVM หมายถึงชื่อจริงของ.vboxไฟล์VMs ที่จะลงทะเบียน
ฉันมี VMs เพียงไม่กี่ตัวและฉันพบว่าฉันสามารถเปลี่ยนที่เก็บข้อมูลเริ่มต้นสำหรับ VirtualBox จากนั้นจึงโคลน VM ของฉัน โคลนที่สร้างขึ้นในตำแหน่งใหม่บน HD ใหม่ที่ฉันต้องการ ทุกอย่างครบถ้วนภาพรวมและไม่จำเป็นต้องแมปตำแหน่งของ HD เสมือนใหม่
วิธีที่ง่ายที่สุดไม่จำเป็นต้องลบเครื่องเสมือนของคุณและทำการตั้งค่า
คัดลอกโฟลเดอร์ Virtualbox VM ของคุณไปยังไดรฟ์ใหม่
เรียกใช้ตัวจัดการเครื่องจักรเสมือนของกล่อง เรียกใช้ไฟล์ Media Manager -> Virtual Media Manager
2a เลือก VM เพื่อย้ายที่เก็บข้อมูล คลิกปุ่มปล่อยแล้วปุ่มลบ ในกล่องโต้ตอบถัดไปคุณสามารถลบหรือเก็บไดรฟ์เสมือนได้ ปิดตัวจัดการทำให้คุณอยู่ใน Virtualbox Machine Manager ของคุณ
เลือก VM ที่คุณเพิ่งลบสื่อสำหรับคลิกปุ่มการตั้งค่าคลิกส่วนหน่วยเก็บข้อมูล เพิ่มคอนโทรลเลอร์สำหรับสื่อบันทึก (โดยปกติคือ SATA) จากนั้นเพิ่มฮาร์ดไดรฟ์แล้วเลือกดิสก์ที่มีอยู่แล้วเลือก VD ที่ตำแหน่งใหม่ของคุณ
ทำซ้ำสำหรับแต่ละเครื่องที่คุณกำลังเคลื่อนไหว
ดับเครื่องเสมือนของคุณที่ตำแหน่งใหม่เพื่อตรวจสอบ ครั้งต่อไปที่คุณไปที่Virtual Media Manager การโฮเวอร์เหนือรายการ VM จะแสดงตำแหน่งที่เก็บ VD
ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนโฟลเดอร์สแน็ปช็อตเพื่อชี้ไปยังไดรฟ์ใหม่หากคุณใช้งาน แต่ละเครื่องมีการตั้งค่าโฟลเดอร์สแนปช็อตและ VM Manager มีการตั้งค่าโฟลเดอร์เครื่องเริ่มต้นในไฟล์ -> การตั้งค่าที่ต้องเปลี่ยนเช่นกัน
นอกจากนี้ฉันต้องแก้ไขพา ธ ในไฟล์ xml ด้วย หลังจากนั้นมันก็ทำงานได้อย่างไร้ที่ติ
หมายเหตุ:สิ่งต่าง ๆ มีการเปลี่ยนแปลงเล็กน้อยตั้งแต่เขียนนี้ดูคำตอบของ Rob มันง่ายมากตอนนี้
มากขึ้นเรียบง่ายขึ้น 1) ย้ายไปที่ตำแหน่งใหม่ 2) คลิกขวาลบออกจากเมนู Virtualbox 3) เลือก 'เพิ่ม' จากเมนูเครื่อง 4) ค้นหาไอคอน 8kb Blue ที่มีประเภทของ 'นิยามเครื่องเสมือน' เลือกและจะเพิ่มลงในรายการ Virtualbox ของคุณ ดับเบิลคลิกที่เครื่องเสมือนและใช้งานได้
*.vboxไฟล์ในโฟลเดอร์ของมัน
ใน Mac ให้แก้ไขพา ธ ในไฟล์นี้:
/Users/pleddy/Library//VirtualBox/VirtualBox.xml
นั่นเป็นเรื่องง่าย presto!
หลังจากเสียเวลาทั้งวันในการแก้ไขปัญหานี้ (โดยใช้ Virtualbox 5.0.12 บน Arch Linux) ในที่สุดฉันก็ได้รับการแก้ไขในวิธีที่คำตอบของ Thomthom แนะนำ สำหรับผู้ที่ไม่แน่ใจเกี่ยวกับขั้นตอนที่แน่นอนคำสั่งที่โคลนทั้งเครื่อง (รวมถึงภาพรวม) คือ:
VBoxManage clonevm --mode all --basefolder </new/path/> --register <VM_to_clone>
รับชื่อของ VM ด้วย
VBoxManage list vms
ถ้าจำเป็นให้อ้างชื่อพา ธ และชื่อ
สุดท้ายตรวจสอบว่าทุกอย่างเรียบร้อยแล้วและนำต้นฉบับออก
นั่นคือทั้งหมดที่จริง ไม่จำเป็นต้องกังวลกับไฟล์ xml หรือโปรแกรมแก้ไขฐานสิบหก ไม่จำเป็นต้องใช้ GUI เช่นกัน
http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevm
VM_to_cloneคือ UUID หรือชื่อของ VM ด้วยคำสั่งที่กำหนด (ใช้ UUID) ไดเรกทอรีจะถูกสร้างขึ้นที่/new/path/_<UUID>_ Cloneและไฟล์ที่มีก็ยังใช้_<UUID>_ Cloneเป็นชื่อ หากต้องการมีชื่อ nicer อย่างชัดเจนให้ใช้--name "Your preferred name here"แฟล็ก
VBoxManage unregistervm UUID(UUID ของ VM ที่คุณได้รับผ่านVBoxManage list vmsอย่าใช้ชื่อ VM เพราะถ้าคุณใช้--nameเพื่อรักษาชื่อเดิมคุณจะมี VM หลายชื่อที่เหมือนกัน)
ในการทำเช่นเดียวกับในคำตอบของ Lucas Pottersky แต่ผ่านทางบรรทัดคำสั่ง (บน Windows จะแทนที่vboxmanageด้วยVBoxManage.exe):
แสดงรายการเครื่องเสมือนทั้งหมด:
vboxmanage list vms
หรือทำงานเท่านั้น:
vboxmanage list runningvms
ซึ่งสำหรับแต่ละเครื่องจะแสดงชื่อและ UUID
ทำตามขั้นตอนต่อไปนี้สำหรับแต่ละเครื่องที่คุณจะย้าย
ปิดมันอย่างสวยงาม:
vboxmanage controlvm UUID acpipowerbutton
ยกเลิกการลงทะเบียน:
vboxmanage unregistervm UUID
ย้ายโฟลเดอร์เครื่องเสมือนไปยังตำแหน่งใหม่
ลงทะเบียนกลับโดยระบุเส้นทางไปยัง.vboxไฟล์:
vboxmanage registervm /path/to/machine.vbox
สิ่งนี้ใช้ได้กับฉันด้วย VirtualBox รีลีส MacOS (รีลีส 4.1.12) ฉันรอ 5-10 วินาทีเพื่อให้ VirtualBox หยุดก่อนที่จะเปิดตัวอีกครั้ง ฉันดูในการตรวจสอบกิจกรรมเพื่อให้แน่ใจว่า VBoxSVC เลิกอย่างถูกต้อง
หากคุณไม่ทำเช่นนี้คุณจะได้รับข้อผิดพลาดที่มีลักษณะดังนี้ (ฉันกำลังคัดลอกและวางข้อความแสดงข้อผิดพลาดของบุคคลอื่นซึ่งมาจาก Windows) หากคุณได้รับข้อผิดพลาดนี้อาจเป็นเพราะคุณไม่ได้ออกจาก VirtualBox หรือรอนานพอที่ VBoxSVC จะออก
Failed to open virtual machine located in E:/<path>/<machine_name>/<machine_name>.vbox.
Cannot register the hard disk 'E:\<path>\<machine_name>\Snapshots/{0ece4bff-9185-4cff-9069-b3d1f4536394}.vdi' {0ece4bff-9185-4cff-9069-b3d1f4536394}
because a hard disk 'C:\<path>\<machine_name>\Snapshots/{0ece4bff-9185-4cff-9069-b3d1f4536394}.vdi' with UUID {0ece4bff-9185-4cff-9069-b3d1f4536394} already exists.
Result Code: E_INVALIDARG (0x80070057)
Component: VirtualBox
Interface: IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}
ใน OS X ที่มี VirtualBox v4.3.14 สิ่งที่ฉันต้องทำคือดับเบิลคลิกที่.vboxไฟล์จากตำแหน่งใหม่และเปิด VirtualBox และเพิ่มลงในรายการของ VM ที่มีอยู่
มีที่เก็บข้อมูลเริ่มต้นในการตั้งค่าภายใต้ VirtualBox: http://mattvelic.com/default-vm-location/
ตอนนี้ตายแล้ว เครื่อง Wayback มีเนื้อหา:
http://web.archive.org/web/20131116130725/http://mattvelic.com/default-vm-location
... ตรวจสอบการตั้งค่าในเมนูไฟล์ ดูเถิด! รายการแรกในแท็บทั่วไปคือโฟลเดอร์เครื่องเริ่มต้น http://web.archive.org/web/20131116130725im_/http://54.225.211.105/wp-content/uploads/2012/11/VB_Preferences.png ฉันแก้ไขตำแหน่งเพื่อชี้ไปที่ไดรฟ์จัดเก็บข้อมูลของฉันและทำการจัดเรียงใหม่อย่างรวดเร็ว VM เวลานี้ VirtualBox สร้างทั้งไฟล์ของเครื่องและ VDI ในตำแหน่งที่ถูกต้อง บทเรียนจริงที่นี่คือบางครั้งการแก้ปัญหาไม่จำเป็นต้องเป็นเทคนิค ฉันคิดว่าในฐานะผู้เชี่ยวชาญด้านไอทีเรามักจะคิดว่าคำตอบของปัญหาจะซับซ้อน ทำให้ตาของคุณเปิดสำหรับการแก้ปัญหาที่ชัดเจน!
ฉันไม่คิดว่าเป็นไปได้
คุณสามารถย้าย VDI ไปยังตำแหน่งใหม่ แต่ฉันไม่คิดว่าคุณสามารถหลีกเลี่ยงการแก้ไข XML เป็นทางเลือก (แต่อันที่จริงแล้วเหมือนกับรุ่น XML) จะสร้างเครื่องเสมือนใหม่พร้อม GUI และเลือกอิมเมจที่ย้ายเป็นดิสก์จะเหมาะกับความต้องการของคุณหรือไม่
ฉันลองใช้วิธีดั้งเดิม (ลบ VDI, แนบสำเนาใหม่) ได้รับข้อความว่าอันเก่ายังคงอยู่และไม่สามารถแนบสำเนาใหม่ได้แม้ว่าฉันจะรีสตาร์ทระบบปฏิบัติการ (บน Mac OS X El Capitan)
การแก้ไขอยู่ในเมนู / ไฟล์ / ผู้จัดการสื่อเสมือนลบ VDI ที่มีอยู่ วิธีนี้ใช้ได้แม้ว่าจะมีสแนปชอตก็ตาม เพียงลบ VDIs ของสแน็ปช็อตทั้งหมดในลำดับย้อนกลับ ไม่จำเป็นต้องปิดและเปิด VirtualBox อีกครั้ง
ฉันไม่เคยใช้ virtualbox บน windows แต่บน Ubuntu คุณย้าย VDI และใน virtualbox GUI คุณคลิกขวาบน VM และใช้เมนูการตั้งค่า -> พื้นที่เก็บข้อมูลที่คุณสามารถเปลี่ยนการแปล VDI เป็นตำแหน่งที่คุณย้ายไฟล์ เกี่ยวกับคำจำกัดความของไฟล์เครื่องอื่นคุณย้ายไฟล์เหล่านั้นและใน GUI คุณไปที่การตั้งค่าและเปลี่ยนตำแหน่งของไดเรกทอรีเครื่องเริ่มต้นเป็นไดเร็คทอรี่ที่คุณย้าย
ฉันใช้วิธีนี้:
สร้าง UUID ใหม่สำหรับ. vdi ในตำแหน่งใหม่ด้วยคำสั่ง vboxmanage คำสั่งภายใน sethduuid "เส้นทางของฉันไปยัง myhdd.vdi" 6912BF7F-13BB-4E70-A2CA-C92300FEC3DC
(ในตัวอย่างก่อนหน้าใช้ UUID ของคุณเองหรือไม่ต้องเพิ่มเลย: คำสั่งจะสร้างอัตโนมัติอีกทั้งถ้าคุณข้ามขั้นตอนนี้เมื่อเพิ่ม. vdi จากตำแหน่งใหม่คุณจะได้รับข้อผิดพลาดว่า UUID มีอยู่แล้ว )
และทำ
ใน Oracle VM VirtualBox (ทดสอบกับเวอร์ชัน 6.0.4) เพียงแค่ปิด VM -> คลิกขวาที่ VM ใน VirtualBox Manager -> คลิก "ย้าย ... " -> เลือกไดเรกทอรีใหม่ แค่นั้นแหละ!