ผลต่างระหว่างรุ่นของ "ติดตั้ง virtualbox บน ubuntu"

จาก Wiki Opensource
(แทนที่เนื้อหาด้วย "บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 7-02-2565<br/> เขียนคร...")
 
(ไม่แสดง 3 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน)
แถว 1: แถว 1:
บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 22-11-2555<br/>
+
บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 7-02-2565<br/>
  
 
เขียนครั้งแรกโดยคุณวิภัทร ศรุติพรหม<br/>
 
เขียนครั้งแรกโดยคุณวิภัทร ศรุติพรหม<br/>
  
 
ดูแลโดย [[%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B9%83%E0%B8%8A%E0%B9%89%3AWiboon.w|WIBOON]]
 
ดูแลโดย [[%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B9%83%E0%B8%8A%E0%B9%89%3AWiboon.w|WIBOON]]
*ทดสอบกับ ubuntu 12.04 และ virtualbox 4.2_4.2.4-81684<br/>
+
*เลิกใช้งาน
*ต้นฉบับจาก [http://www.virtualbox.org http://www.virtualbox.org]
 
*มีคำแนะนำเพิ่มเติมอยู่ที่ [[%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1%E0%B8%88%E0%B8%B3%E0%B8%A5%E0%B8%AD%E0%B8%87%20PC%20%E0%B9%80%E0%B8%AA%E0%B8%A1%E0%B8%B7%E0%B8%AD%E0%B8%99|โปรแกรมจำลอง PC เสมือน]]
 
 
 
<br/>
 
#หากติดตั้งกับรุ่นที่ต่ำกว่า ubuntu 12.04 อาจจำเป็นต้องติดตั้งโปรแกรมเพิ่มเติมก่อนด้วยคำสั่ง<br/>sudo apt-get install libqt4-network libqt4-opengl libcurl3 dkms<br/><br/>
 
#ต่อไปดาวน์โหลดแฟ้มโปรแกรม virtualbox จาก [http://ftp.psu.ac.th/pub/virtualbox http://ftp.psu.ac.th/pub/virtualbox] ต้องเลือกให้ถูกต้องกับรุ่นที่ต้องใช้งาน<br/>ตัวอย่างนี้เป็น virtualbox 4.2_4.2.4-81684 สำหรับ ubutnu 12.04 แบบ 32 bit ให้เลือกแฟ้มให้ถูกต้องกับรุ่น<br/>ดาวน์โหลดมาด้วยคำสั่ง wget -P /tmp [http://ftp.psu.ac.th/pub/virtualbox/virtualbox-4.2_4.2.4-81684~Ubuntu~precise_i386.deb http://ftp.psu.ac.th/pub/virtualbox/virtualbox-4.2_4.2.4-81684~Ubuntu~precise_i386.deb]<br/>ติดตั้งด้วยคำสั่ง sudo dpkg -i /tmp/virtualbox-4.2_4.2.4-81684~Ubuntu~precise_i386.deb<br/>
 
#หากพบข้อผิดพลาดเนื่องจากต้องการโปรแกรมที่เกี่ยวข้อง ให้ใช้คำสั่ง sudo apt-get -f install<br/><br/>
 
#หากเคยติดตั้ง virtualbox เวอร์ชั่นอื่นมาอยู่แล้ว อาจได้ตัวอย่างข้อความประมาณว่า ...<br/>virtualbox-4.2 conflicts with virtualbox<br/>virtualbox-4.1 conflicts with virtualbox<br/>virtualbox-4.0 provides virtualbox and is present and installed.<br/>ก็ให้ถอนโปรแกรม virtualbox ของเดิมออกก่อน ด้วยตัวอย่างคำสั่งประมาณว่า<br/>sudo apt-get remove virtualbox-4.1<br/>เสร็จแล้วจึงค่อยติดตั้ง virtualbox ใหม่ต่อไป<br/><br/>
 
#หากได้หน้าต่างประมาณว่า Configuring virtualbox-4.1 หัวข้อว่า Creating group 'vboxusers'<br/>ให้กดแป้น Enter อย่างเดียวเท่านั้น แล้วรอจนเสร็จ<br/><br/>
 
#หากเคยติดตั้ง Extension Package รุ่นก่อนอยู่แล้ว ต้องถอนออกก่อนด้วยคำสั่ง<br/>sudo VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"<br/><br/>ติดตั้ง Extension Package เพิ่มเติมทำดังนี้<br/>wget -P /tmp [http://ftp.psu.ac.th/pub/virtualbox/Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack http://ftp.psu.ac.th/pub/virtualbox/Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack]<br/>sudo VBoxManage extpack install /tmp/Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack<br/><br/>
 
#จัดการให้ virutalbox ติดต่อกับ usb ได้ด้วยคำสั่ง<br/>sudo usermod -a -G vboxusers $(whoami)<br/>sudo usermod -a -G lp $(whoami)<br/><br/>แค่นี้ก็เสร็จแล้ว<br/><br/>
 
#ต้อง logout 1 ครั้ง แล้ว login เข้าไปใหม่<br/><br/>
 
#ทดสอบใช้งานด้วยคำสั่ง VirtualBox<br/>ได้หน้าต่าง VirtualBox License ให้คลิกปุ่ม "I Agree"<br/>ได้หน้าต่าง VirtualBox Registration Dialog ให้คลิกปุ่ม "Cancel"<br/>คราวนี้ก็ใช้งานได้เลย<br/><br/>
 
#หากเรียกโปรแกรม VirtualBox แล้ว มี error ประมาณว่า<br/>WARNING: The vboxdrv kernel ...<br/>sudo /etc/init.d/vboxdrv setup<br/>... Please consult the User Manual for build instructions.<br/>ให้แก้ไขดังนี้ ติดตั้งโปรแกรมเพิ่มเติมด้วยคำสั่ง sudo apt-get install linux-headers-$(uname -r)<br/>แล้วสั่งปรับปรุง vboxdrv ใหม่ด้วยคำสั่ง sudo /etc/init.d/vboxdrv setup รอจนเสร็จก็จะใช้งานได้<br/><br/>อาการแบบนี้อาจเกิดขึ้นหลังจาก upgrade kernel เป็นเวอร์ชั่นใหม่<br/><br/>
 
#การปรับแต่งให้ใช้ usb ได้ สำหรับ ubuntu 9.04 และ 8.04 ทำดังนี้<br/>ต้องเพิ่มชื่อ user ให้เป็นสมาชิกของ group ชื่อ vboxusers ด้วย ให้ทำดังนี้<br/>sudo usermod -a -G vboxusers $(whoami)<br/><br/>หากเป็น ubuntu 9.04 ให้ตรวจสอบเลข gid ของ vboxusers ในแฟ้ม /etc/group<br/>ลองใช้คำสั่งว่า grep vboxusers /etc/group<br/>ได้ผลประมาณ ว่า vboxusers:x:46: หมายความว่า vboxusers มีเลข gid เป็น 46<br/><br/>ให้ แก้ไขแฟ้ม /etc/fstab ไปที่ท้ายแฟ้มแล้วเพิ่ม/ปรับปรุงบรรทัดใหม่ข้อความว่า<br/>none /proc/bus/usb usbfs devgid=46,devmode=664 0 0<br/>ให้แก้ไขค่า devgid ให้ถูกต้องตรงกับเลข gid ของ vboxusers ตัวอย่างนี้คือ devgid=46<br/>แล้ว ทำงานต่อด้วยคำสั่งว่า sudo mount -a<br/><br/>หากเป็น ubuntu 8.04 ให้แก้ไขแฟ้ม /etc/init.d/mountdevsubfs.sh<br/>ไปที่ประมาณบรรทัด 42-45 ให้ uncomment กลายเป็นประมาณว่า<br/>mkdir -p /dev/bus/usb/.usbfs<br/>domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644<br/>ln -s .usbfs/devices /dev/bus/usb/devices<br/>mount --rbind /dev/bus/usb /proc/bus/usb<br/>แล้วทำงานต่อด้วยคำสั่งว่า sudo /etc/init.d/mountdevsubfs.sh start<br/><br/>
 
#ตัวอย่างการสร้าง hard disk สำหรับ guest ทำดังนี้ เปิดโปรแกรม VritualBox ด้วยคำสั่ง VirtualBox<br/>ได้หน้าต่าง Sun VirtualBox ที่แถบด้านบนให้เลือกเมนู File -> Virtual Media Manager...<br/>ได้หน้าต่าง Virtual Media Manager ที่แถบด้านบนให้เลือกเมนู Actions -> New...<br/>ได้หน้าต่าง Welcome to the Cretate New VirtualDisk Wizard! ให้คลิกปุ่ม Next ><br/>ได้หน้าต่าง Hard Disk Storage Type ให้คงเลือกค่าเดิมว่า Dynamically expanding storage แล้วคลิกปุ่ม Next ><br/>ได้หน้าต่าง Virtual Disk Location and Size ที่ส่วนของ Location ให้ตั้งชื่อแฟ้มให้ถูกต้อง และ/หรือเปลี่ยน path ตามต้องการ<br/>ที่ส่วนของ Size ให้ใส่ขนาดตามต้องการ แล้วคลิกปุ่ม Next ><br/>ได้หน้าต่าง Summary ให้คลิกปุ่ม Finish<br/>กลับมาได้หน้าต่าง Virtual Media Manager หากไม่ทำงานต่ออีก ก็ให้คลิกปุ่ม OK ออกไปได้เลย<br/><br/>
 
#ตัวอย่างการสร้าง guest ทำดังนี้ เปิดโปรแกรม VritualBox ด้วยคำสั่ง VirtualBox<br/>ได้หน้าต่าง Sun VirtualBox ที่แถบด้านบนให้เลือกเมนู Machine -> New...<br/>ได้หน้าต่าง Welcome to the New Virtual Machine Wizard! ให้คลิกปุ่ม Next ><br/>ได้หน้าต่าง VMname and OS Type ที่ส่วนของ Name ให้ใส่ชื่อ guest ตามต้องการ<br/>ที่ส่วนของ OS Type ให้ปรับตั้งค่าให้ถูกต้อง แล้วคลิกปุ่ม Next ><br/>ได้หน้าต่าง Memory ที่ส่วนของ Base Memory Size ให้ใส่ขนาด RAM ตามต้องการ แล้วคลิกปุ่ม Next ><br/>ได้หน้าต่าง Virtual Hard Disk ให้คงค่าคลิกเลือก Boot Hard Disk (Primary Master) ไว้<br/>แล้วเปลี่ยนไปคลิกเลือกหัวข้อ Use existing hard disk แล้วเปลี่ยนให้เป็นชื่อแฟ้ม hard disk ที่เคยสร้างไว้ แล้วคลิกปุ่ม Next ><br/>ได้หน้าต่าง Summary ให้คลิกปุ่ม Finish<br/><br/>
 
#ตัวอย่างการปรับแต่ง guest เปิดโปรแกรม VritualBox ด้วยคำสั่ง VirtualBox<br/>ได้หน้าต่าง Sun VirtualBox ที่ช่องด้านซ้ายจะมีรายชื่อ guest ที่สร้างไว้ ให้เลือก guest ที่ต้องการปรับแต่งไว้ก่อน<br/>ไปที่แถบด้านบนให้เลือกเมนู Machine -> Settings...<br/>ได้หน้าต่าง ...Settings ที่ช่องด้านซ้ายจะมีรายชื่ออุปกรณ์ที่สามารถใช้งานได้ ให้เลือกอุปกรณ์ที่ต้องการปรับแต่ง<br/><br/>สำหรับ guest ที่เป็น linux server แนะนำให้ตั้งค่าดังนี้<br/>General -> Basic -> Base Memory Size = 256 MB<br/>General -> Basic -> Video Memory Size = 1 MB<br/>General -> Advanced -> Extended Features: ให้คลิกเลือก Enable PAE/NX เพิ่มด้วย<br/>Audio -> ให้คลิกออก ไม่เลือก Enable Audio<br/><br/>
 
#หากต้องการตั้งค่าให้ virtualbox ปิด guest โดยอัตโนมัติตอน shutdown host ให้ทำดังนี้<br/>ตรวจสอบดูว่าผู้ใช้เจ้าของ virtualbox เป็นใครด้วยคำสั่ง whoami ตัวอย่างสมมติว่าชื่อ mama<br/>ให้สร้างหรือแก้ไขแฟ้ม /etc/default/virtualbox เพิ่มให้มีข้อความประมาณว่า<br/>SHUTDOWN_USERS="mama"<br/>SHUTDOWN=acpibutton<br/><br/>อาจทำง่ายๆด้วยการใช้คำสั่งว่า<br/>sudo sh -c "echo 'SHUTDOWN_USERS=\"$(whoami)\"' >> /etc/default/virtualbox"<br/>sudo sh -c "echo "SHUTDOWN=acpibutton" >> /etc/default/virtualbox"<br/><br/>ผลคือตอน host ทำการ shutdown หรือ reboot ก็จะปิด vm guest ที่มีอยู่ทุกตัวโดยอัตโนมัติ<br/><br/>
 
#ตัวอย่างการสั่งให้ virtualbox ทำงานแบบ command line<br/><br/>ดูว่ามี guest อะไรบ้าง ใช้คำสั่ง<br/>VBoxManage list vms<br/><br/>ดูว่ามี guest อะไรที่กำลังทำงาน ใช้คำสั่ง<br/>VBoxManage list runningvms<br/><br/>ดูค่าต่างๆที่ตั้งไว้บน guest ใช้คำสั่งประมาณว่า<br/>VBoxManage showvminfo guestname<br/><br/>ให้ guest ชื่อ SAMPLE ทำงานแบบมี gui ด้วย ใช้คำสั่ง<br/>VBoxManage startvm "SAMPLE" --type gui<br/><br/>ให้ guest ชื่อ SAMPLE ทำงานแบบไม่มี gui แต่ remote desktop เข้ามาทำงานได้ ใช้คำสั่ง<br/>VBoxManage startvm "SAMPLE" --type headless<br/><br/>สั่งปิด guest ชื่อ SAMPLE ใช้คำสั่ง<br/>VBoxManage controlvm "SAMPLE" acpipowerbutton<br/><br/>
 
#การตั้งค่าให้ guest ชื่อ SAMPLE ทำงานทุกครั้งที่บูท host server ขึ้นมา<br/>สมมติว่า virtualbox ติดตั้งด้วย user ชื่อ mama<br/>ให้เพิ่มบรรทัดข้อความที่แฟ้ม /etc/rc.local ข้อความประมาณตัวอย่างว่า<br/>sudo -H -u mama VBoxManage startvm "SAMPLE" --type headless<br/><br/>
 
#หากต้องการให้ remote desktop เข้ามาดู โดยมีการ authen ด้วยบัญชี username และ password บน linux ให้ทำดังนี้<br/><br/>ส่วนบน guest ให้ตั้งค่าเพิ่มเติมทำดังนี้ เปิดโปรแกรม VritualBox ด้วยคำสั่ง VirtualBox<br/>ได้หน้าต่าง Sun VirtualBox ที่ช่องด้านซ้ายจะมีรายชื่อ guest ที่สร้างไว้ ให้เลือก guest ที่ต้องการปรับแต่งไว้ก่อน<br/>ไปที่แถบด้านบนให้เลือกเมนู Machine -> Settings...<br/>ได้หน้าต่าง ...Settings ที่ช่องด้านซ้ายจะมีรายชื่ออุปกรณ์ที่สามารถใช้งานได้ ให้เลือก Display<br/>หน้าต่างด้านขวาเปลี่ยนเป็น Display ให้เลือกแถบ Remote Display ให้ตั้งค่าดังนี้<br/>Remote Display -> ให้คลิกเลือก Enable Sever เพิ่ม แล้วปรับค่าอื่นๆ<br/>Remote Display -> Server Port: ให้ใส่ port ตามต้องการตัวอย่างเช่น 5000<br/>Remote Display -> Authentication Method: เลือกเปลี่ยนให้เป็น External<br/>Remote Display -> Authentication Timeout: ให้คงเป็น 0 ไว้เหมือนเดิม<br/>เสร็จแล้วก็คลิก OK<br/><br/>ต่อไปบน virtualbox สั่งให้ guest ทำงานทาง command ด้วยตัวอย่าง<br/>คำสั่งประมาณว่า VBoxManage startvm "SAMPLE" --type headless<br/><br/>ตัวอย่างคำสั่งในการใช้ linux PC ตัวอื่นเข้ามาดูด้วยคำสั่ง rdesktop -u username -p - hostname:5000<br/>ระบบจะมีการถามให้ป้อนรหัสผ่านก่อน จึงจะอนุญาตให้ใช้งานได้<br/><br/>
 
#การนำแฟ้ม hard disk ไปใช้งานเป็นอีก guest ในเครื่อง virtualhost เดียวกัน<br/>จะใช้วีธี copy แฟ้ม hard disk ไปแล้วเปลี่ยนเป็นชื่ออื่นไม่ได้<br/>ต้องทำการ clone hard disk ไปใช้งาน เพราะ virtual มีการจำค่า UUID ไว้<br/>ตัวอย่างคำสั่งการ clone hard disk ต้นฉบับจาก source.vdi ไปเป็นปลายทางคือ target.vdi<br/>ใช้คำสั่งว่า VBoxManage clonehd source.vdi target.vdi<br/>สำหรับเวอร์ชั่น 4.0 ต้องมีการระบุ path ของแฟ้ม vdi ที่ต้องการจัดการด้วย<br/>ตัวอย่างเช่น VBoxManage clonehd /home/mama/.VirtualBox/source.vdi /home/mama/.VirtualBox/target.vdi<br/><br/>
 
#แนะนำให้ติดตั้ง VirtualBox Guest Additions ด้วย เพื่อให้ share folder และแก้ไขปัญหาใช้งานแล้วเกิดมี 2 เมาส์ ทำดังนี้<br/>เปิดโปรแกรม VritualBox สั่ง guest ที่ต้องการปรับแต่งให้ทำงานตามปรกติก่อน<br/>ด้านบนหน้าต่างของ guest ให้เลือกเมนู Devices -> Install Guest Additions...<br/>จะเห็นระบบทำงานสักครู่ไม่เกิน 2 นาทีก็จะนิ่งเป็นปรกติ<br/>เข้าไปทำงานใน guest แล้วเปิด drive ของ CD-ROM<br/><br/>หาก guest เป็นวินโดวส์ จะได้ volume ชื่อประมาณว่า VirtualBox Guest Additions (D:) ก็ให้เข้าไปใช้เมาส์คลิกสั่งให้ volume นี้ทำงาน<br/>ได้หน้าต่าง Welcome to the Sun VirtualBox Guest Additions 4.1.6 Setup Wizard ... ให้คลิกปุ่ม Next ><br/>ได้หน้าต่าง License Agreement ให้คลิกปุ่ม I Agree<br/>ได้หน้าต่าง Choose Install Location ให้คลิกปุ่ม Install แล้ว รอๆๆ<br/>รอจนได้หน้าต่าง Completing the Sun VirtualBox Guest Additions 4.1.6 Setup Wizard คลิกปุ่ม Finish ได้เลย<br/>แล้ว guest จะทำการ reboot ใหม่ ลองใช้งานดูผลได้เลย<br/><br/>หาก guest เป็นลินุกซ์ จะได้ volume ชื่อประมาณว่า VBOXADDITIONS_4.1.6_...<br/>ให้เข้าไปทำงานบน terminal ให้ใช้คำสั่งดังนี้<br/>cd /media/cdrom<br/>sudo sh autorun.sh<br/>รอจนเสร็จ แล้วก็รีบูท guest ใหม่ ลองใช้งานดูผลได้เลย<br/><br/>
 
#วิธีใช้ Share Folder ที่ เครื่อง HOST เปิดให้ guest ใช้ เช่นเปิด Share ชื่อ Downloads<br/><br/>หาก guest เป็นลินุกซ์ และต้องการให้ user สามารถเขียนอ่านได้ เช่น User คือ mama<br/>โดยกำหนด Mount Point มาที่ vboxshare<br/>ใช้คำสั่ง<br/>mkdir vboxshare<br/>sudo mount -t vboxsf -o uid=mama,gid=mama Downloads vboxshare<br/>ก็จะใช้งานได้เหมือนเป็นพื้นที่ของตนเอง<br/><br/>
 
#หากเจอปัญหา XP guest เวลาบูทแล้วเกิด "หน้าจอฟ้าพิฆาต (Blue Screen Of Death)"<br/>หรือการฟ้องให้เลือกเข้า safe mode เสร็จแล้วก็ยังรีบูทหมุนวนไปเรื่อยๆไม่ยอมจบ<br/><br/>การแก้ไขคือให้หาวิธีเข้าไปจัดการแฟ้มที่เป็นต้นตอปัญหาคือแฟ้ม<br/>c:\windows\system32\drivers\intelppm.sys และ c:\windows\system32\drivers\processr.sys<br/>ให้เปลี่ยนชื่อแฟ้มทั้ง 2 นี้เป็นชื่ออื่น ปัญหานี้ก็จะหายไปชั่วคราว<br/>ยังไม่ทราบเหตุผลที่แท้จริงเหมือนกันว่า 2 แฟ้มนี้ใช้ทำอะไรกันแน่<br/>เมื่อบูท XP guest ขึ้นมาได้แล้ว ให้เข้าไปใน XP guest แล้วใช้คำสั่ง<br/>sc config processor start= disabled<br/>sc config intelppm start= disabled<br/>คราวนี้ปัญหาแบบนี้ก็จะจบลง
 

รุ่นปัจจุบัน เมื่อ 16:25, 7 กุมภาพันธ์ 2565

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 7-02-2565

เขียนครั้งแรกโดยคุณวิภัทร ศรุติพรหม

ดูแลโดย WIBOON

  • เลิกใช้งาน