VirtualBox เป็นหนึ่งในเครื่องมือพัฒนา Windows ที่ได้รับความนิยมมากที่สุดในปัจจุบัน มันช่วยให้คุณติดตั้งระบบปฏิบัติการอื่นบนระบบ Windows 10 หลักของคุณได้ เพื่อให้คุณสลับระหว่างระบบปฏิบัติการเหล่านี้ได้ตามต้องการ
แต่ตามเวลา เครื่องเสมือน (VM) หรือที่รู้จักในชื่อระบบปฏิบัติการแขก (guest OS) อาจโตขึ้นเนื่องจากไฟล์ที่คุณบันทึกและกิจกรรมอื่นๆ ที่คุณทำภายใน OS
เรื่องตลกคือ การลบไฟล์โดยตรงจากภายใน VM ไม่ได้ปลดปล่อยพื้นที่จัดเก็บสำหรับระบบโฮสต์ หากคุณต้องการปลดปล่อยพื้นที่จัดเก็บมากขึ้น นี่คือขั้นตอนในการลดขนาด VirtualBox VM และเรียกคืนพื้นที่ที่สูญหาย
หน่วยความจำแบบไดนามิก vs ขนาดคงที่
หากคุณเลือกตัวเลือก "Fixed Size" เมื่อสร้าง VM ครั้งแรก คู่มือนี้จะไม่ทำงานกับคุณ เหตุผลคือคุณได้ตกลงกับขนาดคงที่สำหรับ VirtualBox ใช้สำหรับ Guest OS แล้ว มันไม่สามารถโตหรือหดได้เกินขีดจำกัดที่ตั้งไว้
หากคุณเลือก "Dynamic Size" เมื่อสร้าง VM คุณก็พร้อมสำหรับขั้นตอนถัดไป Dynamic Size อนุญาตให้ OS ขยายการจัดสรรพื้นที่จัดเก็บได้แบบไดนามิก
1. ลบและเคลียร์พื้นที่ใน Guest OS
คุณสามารถทำได้ทั้ง Windows และ Linux OS
สำหรับ Windows เป็นระบบปฏิบัติการแขก
1. ลบไฟล์ที่ไม่ต้องการภายใน Windows Guest OS ไปที่ Recycle Bin ภายใน Guest OS และลบไฟล์ที่ไม่จำเป็นทั้งหมด ยกเลิกการติดตั้งแอปพลิเคชันที่ไม่ต้องการ และลบสำรองข้อมูลที่ไม่จำเป็นทั้งหมด (เช่น Windows.old, จุดกู้คืน Windows เก่า ฯลฯ) เป้าหมายคือการปลดปล่อยพื้นที่มากที่สุดจากภายใน Guest OS
2. เปิด Disk Defragmenter หาก Guest OS ของคุณเป็น Windows 10 ให้ค้นหา "defragment" ในเมนู Start และเปิดตัวเลือก "Defragment and Optimise Drives"

เลือกดิสก์ที่ต้องการทำลายการแยกส่วน และคลิก "Optimise"

3. ดาวน์โหลดไฟล์ SDelete นี่คือยูทิลิตี้บรรทัดคำสั่งสำหรับลบไฟล์ออกจากระบบอย่างปลอดภัย แยก SDelete ไปที่ Desktop คุณควรพบ 3 ไฟล์ในโฟลเดอร์: Eula, sdelete และ sdelete64

4. ต่อไป ให้เปิด command prompt และ cd ไปที่โฟลเดอร์ SDelete
cd Desktop/SDelete
รันคำสั่งต่อไปนี้:
sdelete.exe c: -z

แฟล็ก -z สั่งให้ทำการ zero free space ซึ่งจำเป็นสำหรับการเพิ่มประสิทธิภาพดิสก์เสมือน Zeroing free space หมายถึงเติมพื้นที่ว่างทั้งหมดด้วยศูนย์ เพื่อให้สามารถลบและเรียกคืนได้ในภายหลัง
5. ทันทีที่กระบวนการนี้เสร็จสิ้น ให้ปิด Windows Guest และ VirtualBox ตอนนี้คุณควรกลับมาที่ Windows 10 หลักของคุณแล้ว
สำหรับ Linux เป็นระบบปฏิบัติการแขก
หาก Linux เป็นสิ่งที่คุณติดตั้งบน VirtualBox ให้ทำตามขั้นตอนถัดไปเพื่อปลดปล่อยหน่วยความจำภายใน
หมายเหตุ: เราใช้ Ubuntu สำหรับบทช่วยสอนนี้
1. เริ่ม Linux Guest จาก VirtualBox เมื่อบูท ให้กดปุ่ม "Esc" ซ้ำๆ เพื่อเริ่มอินเทอร์เฟซบูทขั้นสูง
2. จะมีตัวเลือกบูทหลายอย่าง แสดงให้คุณเห็น เลือก "Advanced options for Ubuntu"

3. เลือก "Recovery Mode"

4. เลือกโฟลเดอร์รากเมื่อได้รับแจ้ง

5. ต่อไป ให้เลือก "boot to recovery" และกด Enter เพื่อเข้าสู่โหมดบำรุงรักษา
6. ภายในอินเทอร์เฟซบรรทัดคำสั่ง ให้รันคำสั่งต่อไปนี้:
df
หน้าจอจะปรากฏพร้อมรายการดิสก์ทั้งหมดที่เชื่อมต่อสำหรับ Linux Guest หาที่คุณต้องการล้าง (ในกรณีนี้คือ "/dev/sda1")

7. รัน:
zerofree -v /dev/sda1
โค้ดนี้จะค้นหาบล็อกที่ไม่ได้จัดสรรซึ่งมีเนื้อหาค่าที่ไม่ใช่ศูนย์ และเติมด้วยศูนย์ เพื่อให้สามารถเรียกคืนได้ในภายหลัง
8. ทันทีที่โปรแกรมทำงานเสร็จ ให้รัน:
shutdown -h now
คำสั่งนี้จะปิด Linux OS ตอนนี้ปิด VirtualBox และปิดแอปพลิเคชัน
2. เรียกคืนพื้นที่ที่ปลดปล่อยใน Guest OS
หลังจากที่คุณปลดปล่อยพื้นที่จัดเก็บใน Guest OS แล้ว 已经到了要在主机操作系统中回收空间并将其添加回去的时候了。
1. เปิด command prompt ภายใน Windows 10 ภายใน command prompt ให้รันคำสั่งนี้:
diskpart

2. โปรแกรมเชลล์ใหม่ชื่อ DISKPART ควรจะปรากฏขึ้น เลือก Yes เมื่อขอสิทธิ์ผู้ดูแล

3. ภายใน Diskpart คุณจะต้องระบุพาธไปยังไฟล์ VDisk ของคุณ ไฟล์นี้คือฮาร์ดดิสก์เสมือนสำหรับ Guest OS ของคุณ เมื่อคุณมีมันแล้ว ให้คัดลอกพาธและรัน:
select vdisk file = “V:path-to-your-vdisk-file”
กด Enter เพื่อรัน
4. เมื่อเสร็จสิ้นกระบวนการ ให้รัน:
attach vdisk readonly
5. รัน:
compact vdisk

6. รอจนกระบวนการนี้เสร็จสิ้น แล้วรัน:
detach vdisk exit
ตอนนี้พื้นที่ทั้งหมดที่คุณปลดปล่อยภายใน Guest OS ควรจะถูกเรียกคืนโดย Windows 10 หลักของคุณแล้ว
สรุป
หากคุณไม่ระมัดระวังในการใช้ VirtualBox ขนาดของ Guest OS อาจเติบโตแบบเอ็กซ์โพเนนเชียลโดยที่คุณไม่รู้ตัว เมื่อสิ่งนั้นเกิดขึ้น และคุณกำลังหมดพื้นที่จัดเก็บในระบบโฮสต์ บทช่วยสอนนี้จะช่วยให้คุณลดขนาด VirtualBox VM และเรียกคืนพื้นที่ที่สูญหาย เพื่อให้คุณนำไปใช้ประโยชน์อื่นๆ