VirtualBox: ฉันจะเพิ่ม (mount) ไฟล์อิมเมจ ISO จากบรรทัดคำสั่งได้อย่างไร


21

ก่อนหน้านี้ในVirtualBox สั่งบรรทัดคำสั่งด้วยไวยากรณ์นี้:

VBoxManage controlvm <VM> dvdattach <filename>

ดังนั้นการแนบ (ใส่) ซีดี / ดีวีดีจึงง่ายเหมือน:

VBoxManage controlvm "MyVM Windows 7" dvdattach MyDVD.iso

แต่ตอนนี้คำสั่งนี้ได้หายไป
ฉันได้รับการเรียกดูVirtualBox คู่มือการใช้งานและสิ่งที่ฉันได้พบคือบางคำสั่ง storageattachว่าหมายถึงอื่น ๆstoragectlที่ไม่รัดกุมพอ (ฉันเกลียดเอกสารโดยไม่ต้องตัวอย่าง) ไม่มีของพวกเขาหมายถึงอะไรเช่นไฟล์ .iso
ฉันไม่สามารถหาคำตอบได้ในฟอรัมของตนเองอย่างน้อยก็ไม่มีอะไรจะไปไกลกว่าคำอธิบายที่คลุมเครือและไม่รัดกุม :

เมื่อคุณมีคอนโทรลเลอร์พร้อมกับ storagectl (หรือผ่าน GUI) ให้ดูที่ VBoxManage storageattach

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

คำตอบ:


24

จัดการคอนโทรลเลอร์ IDE

ในกรณีที่ VM ไม่มีคอนโทรลเลอร์ IDE คุณสามารถใช้storagectlคำสั่งเพื่อเพิ่ม:

VBoxManage.exe storagectl "<uuid|vmname>" --name IDE --add ide

แนบไฟล์อิมเมจของดิสก์

นี่คือตัวอย่างไวยากรณ์ที่คุณสามารถใช้เพื่อแนบไฟล์ภาพซีดี / ดีวีดี:

VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --type dvddrive --medium "X:\Folder\containing\the.iso"

ถอดไฟล์อิมเมจของดิสก์

การถอดไฟล์ภาพไวยากรณ์ที่คล้ายกัน: "none"คุณเพียงแค่ต้องเปลี่ยนเส้นทางของไฟล์ที่มี --typeพารามิเตอร์สามารถละเว้น:

VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --medium "none"

อ่านเพิ่มเติม


3
VBoxManage showvminfoนอกจากนี้ข้อมูลที่เกี่ยวข้องทั้งหมดบนเครื่องเสมือนสามารถค้นพบกับ ซึ่งรวมถึงตัวควบคุมพื้นที่เก็บข้อมูลและชื่อ
— Daniel B

1
@DanielB, VBoxManage showvminfoรายชื่อและIDE (1, 0): C:\Oracle\VirtualBox\VBoxGuestAdditions.iso SATA (0, 0): d:\VirtualBox VMs\Windows 7 SP1 - SandBox 01\Win7SP1.vmdkฉันเป็นบิตสับสนเกี่ยวกับทั้งสองและ0 1พวกเขามีความสัมพันธ์กับ--portและ--device?
— Sopalajo de Arrierez

เมื่อเกี่ยวข้องกับไฟล์อิมเมจ ISO ฉันควรเพิ่มideหรือsataอุปกรณ์?
— Sopalajo de Arrierez

@SopalajodeArrierez ใช่ตัวเลขเหล่านั้นคือตัวระบุพอร์ต / อุปกรณ์ เพื่อความเข้ากันได้สูงสุดคุณควรเลือกคอนโทรลเลอร์ IDE สำหรับไดรฟ์ซีดี / ดีวีดีเสมือน: "ดังนั้นแม้ว่าระบบปฏิบัติการแขกของคุณจะไม่รองรับอุปกรณ์ SCSI หรือ SATA ก็ควรจะสามารถมองเห็นได้" นอกเหนือจากนั้น VirtualBox ยังให้คุณ "สี่สล็อตที่เชื่อมต่อกับคอนโทรลเลอร์ IDE ดั้งเดิมซึ่งมีอยู่เสมอ" และ "30 สล็อตที่เชื่อมต่อกับคอนโทรลเลอร์ SATA หากเปิดใช้งานและสนับสนุนโดยระบบปฏิบัติการเกสต์" ที่มา
— and31415

ตัวควบคุม IDE มีสองพอร์ต (รายการแรกใน tuple) ซึ่งแต่ละตัวสามารถเชื่อมต่ออุปกรณ์ทั้งสองได้ (องค์ประกอบที่สอง) เหมือนกับในพีซีจริง GUI แนบสื่อออปติคัลกับ (1, 0) โดยค่าเริ่มต้น
— Daniel B

10

ก่อนอื่นตรวจสอบว่าคุณได้ติดตั้งไดรฟ์ CD / DVD หรือไม่ไม่ว่าจะว่างเปล่าหรือไม่ (โปรดสังเกตการใช้findคำสั่งเพื่อกรองผลลัพธ์):

1.- มีไดรฟ์CD / DVDเปล่าหรือไม่

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "empty" /i
SATA (1, 0): Empty

ขอแสดงความยินดีคุณได้พบไดรฟ์CD / DVD เปล่าที่เป็นไปได้ ดังนั้นคุณสามารถแนบ ISO ของคุณไปได้ แต่ ...

... เพื่อเผชิญหน้ากับสถานการณ์ที่เลวร้ายที่สุดลองแสดงอีกวิธีหนึ่งในการค้นหาไดรฟ์ CD / DVD ของคุณหากติดตั้ง:

2.- ค้นหาชื่อของ VM ของคุณ :

C:\Oracle\VirtualBox>VBoxManage.exe list vms
"Windows 7 SP1 - SandBox 01" {e016fcf2-9b6e-4b8e-b89b-49a3c8ba0898}

3.- แสดงรายการคอนโทรลเลอร์ที่เก็บข้อมูล (หมายเหตุfindคำสั่งเพื่อกรองข้อมูลเอาต์พุตมากเกินไป) (*):

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "storage controller name" /i
Storage Controller Name (0):            IDE
Storage Controller Name (1):            SATA

4.- แสดงอุปกรณ์ที่แนบมา :

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "IDE"
Storage Controller Name (0):            IDE

(อันนี้ว่างเปล่าดังนั้นจึงไม่มีอุปกรณ์ควบคุมไม่ว่าจะเป็นฮาร์ดดิสก์หรือไดรฟ์ CD / DVD)

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "SATA"
Storage Controller Name (1):            SATA
SATA (0, 0): d:\VirtualBox VMs\Windows 7 SP1 - SandBox 01\SnapShots/{71b8bf72-dca1-4816-89ff-feba271ec262}.vmdk (UUID: 71b8bf72-dca1-4816-89ff-feba271ec262)
SATA (1, 0): Empty

SATA (0,0) มี (The) ดิสก์เสมือนและ SATA (1,0) เป็นที่ว่างเปล่า (จำนวนครั้งแรกระหว่างวงเล็บเป็นที่รู้จักกันtypeสองหนึ่งdevice) ดังนั้นมันควรจะเป็นแผ่นซีดี / ดีวีดีไดรฟ์

5.- ให้แนบไฟล์อิมเมจISO (ตัวอย่างเช่น Office 2013) กับไฟล์:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(ไม่มีผลลัพธ์บนหน้าจอหมายถึงOK)

$ - ในการลบ ISO ที่เก็บคอนโทรลเลอร์ไดรฟ์ CD / DVD:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "emptydrive"

$ - สำหรับกรณีที่ไม่มีตัวควบคุมไดรฟ์ CD / DVD "เปล่า" VirtualBox ควรเพิ่มตัวควบคุมใหม่ลงในคอนโทรลเลอร์ที่มีอยู่แล้วสมมติว่าเราเลือกพอร์ต / อุปกรณ์ที่ไม่ได้ใช้งานเช่นตัวควบคุม SATA:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 5 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(หมายเหตุเราใช้พอร์ต 5)
และสำหรับคอนโทรลเลอร์ IDE:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(หมายเหตุเราใช้(0,0)นี่คือพอร์ตแรกและอุปกรณ์แรก)

$ - ถ้าเราต้องการที่จะลบ (ทำลาย) (ใด ๆ ) อุปกรณ์ (ตัวอย่างสำหรับ IDE ตัวสุดท้าย):

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "emptydrive"

(อิมเมจ ISO ได้รับการต่อเชื่อมในเวลาเดียวกันในการดำเนินการคำสั่งนี้)

$ - ในที่สุดถ้าเราต้องการสร้างคอนโทรลเลอร์ใหม่แทนที่จะใช้หนึ่ง (s) ที่มีอยู่ (ตัวอย่าง) สำหรับคอนโทรลเลอร์ SATA ที่เราจะตั้งชื่อ SATA3):

C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --add sata

$ - และอาจลบในภายหลัง:

C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --remove

(*) หากชื่อไม่เพียงพอ (อาจมีการเปลี่ยนแปลง) เพื่อหาว่าคอนโทรลเลอร์ชนิดใดให้ลอง:

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "storage controller" /i
Storage Controller Name (0):            IDE
Storage Controller Type (0):            PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  2
Storage Controller Port Count (0):      2
Storage Controller Bootable (0):        on
Storage Controller Name (1):            SATA
Storage Controller Type (1):            IntelAhci
Storage Controller Instance Number (1): 0
Storage Controller Max Port Count (1):  30
Storage Controller Port Count (1):      2

อย่างที่เราเห็นคอนโทรลเลอร์ชื่อIDE(# 0) เป็นอุปกรณ์ PIIX4 (IDE) และหนึ่งชื่อSATA(# 1) คือ IntelAhci (SATA)

หมายเหตุ: คอนโทรลเลอร์ IDEยอมรับไฟล์ภาพที่เป็นไปได้ที่การกำหนดค่า 4 รูปแบบ: (0,0), (0,1), (1,0) และ (1,1) เลือกหนึ่งที่ไม่ได้ครอบครอง ตัวควบคุม SATAยอมรับ 30 พารามิเตอร์เหล่านี้สามารถกำหนดค่าได้บนคุณสมบัติ VM โปรดจำไว้ว่าในทั้งสองกรณีนับเริ่มต้นที่ไม่01

NOTE2: อุปกรณ์บางอย่างสามารถสร้างขึ้นได้ในระหว่างการเอ็กเอ็มแอล (ทำงาน) ขึ้นอยู่กับระบบปฏิบัติการและอุปกรณ์ ตัวอย่างเช่นสามารถสร้างอุปกรณ์ SATA บนรันไทม์สำหรับ Windows 7 VM อย่างไรก็ตามไฟล์อิมเมจ ISO CD / DVD สามารถแทรกบนรันไทม์ในสื่อว่างใด ๆ คุณสามารถตรวจสอบการใช้ vms โดยทำ:

C:\Oracle\VirtualBox>vboxmanage list runningvms

ขอบคุณ @ and31415 และ @DanielB สำหรับความคิดเห็นและข้อมูลของพวกเขา

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