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

จาก Wiki Opensource
(แทนที่เนื้อหาด้วย "บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 7-02-2565<br/> เขียนคร...")
 
(ไม่แสดง 31 รุ่นระหว่างกลางโดยผู้ใช้ 2 คน)
แถว 1: แถว 1:
บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่&nbsp; 08-11-2554<br>  
+
บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 7-02-2565<br/>
  
ดูแลโดย [[ผู้ใช้:Wipat.s|WIPAT]]<br>  
+
เขียนครั้งแรกโดยคุณวิภัทร ศรุติพรหม<br/>
  
<br>
+
ดูแลโดย [[%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B9%83%E0%B8%8A%E0%B9%89%3AWiboon.w|WIBOON]]
 
+
*เลิกใช้งาน
*ทดสอบกับ ubuntu 11.10 และ virtualbox 4.1.8<br>
 
*ต้นฉบับจาก http://www.virtualbox.org<br>
 
*มีคำแนะนำเพิ่มเติมอยู่ที่ [[โปรแกรมจำลอง PC เสมือน|โปรแกรมจำลอง PC เสมือน]]
 
 
 
<br>
 
 
 
#ต้องติดตั้งโปรแกรมเพิ่มเติมก่อนด้วยคำสั่ง <br>sudo apt-get install libqt4-network libqt4-opengl libcurl3 dkms<br><br>ต่อไปดาวน์โหลดแฟ้มโปรแกรม virtualbox จาก http://ftp.psu.ac.th/pub/virtualbox ต้องเลือกให้ถูกต้องกับรุ่นที่ต้องใช้งาน<br> <br>ตัวอย่างนี้เป็น virtualbox 4.1.8&nbsp; สำหรับ ubutnu 11.10&nbsp; แบบ 32 bit ให้เลือกแฟ้มให้ถูกต้องกับรุ่น<br>ดาวน์โหลดมาด้วยคำสั่ง wget&nbsp;-P /tmp http://ftp.psu.ac.th/pub/virtualbox/virtualbox-4.1_4.1.8-75467~Ubuntu~oneiric_i386.deb<br>ติดตั้งด้วยคำสั่ง sudo dpkg -i /tmp/virtualbox-4.1_4.1.8-75467~Ubuntu~oneiric_i386.deb<br><br>หากเคยติดตั้ง virtualbox เวอร์ชั่นอื่นมาอยู่แล้ว อาจได้ตัวอย่างข้อความประมาณว่า&nbsp; ...<br>virtualbox-4.1 conflicts with virtualbox<br>virtualbox-4.0 provides virtualbox and is present and installed.<br>ก็ให้ถอนโปรแกรม virtualbox ของเดิมออกก่อน ด้วยตัวอย่างคำสั่งประมาณว่า sudo apt-get remove virtualbox-4.0<br>เสร็จแล้วจึงค่อยติดตั้ง virtualbox ใหม่ต่อไป<br><br>หากได้หน้าต่างประมาณว่า Configuring virtualbox-4.1&nbsp; หัวข้อว่า Creating group 'vboxusers' <br>ให้กดแป้น Enter&nbsp; อย่างเดียวเท่านั้น แล้วรอจนเสร็จ<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.1.8-75467.vbox-extpack<br>sudo VBoxManage extpack install virtualbox/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack<br><br>
 
#จัดการให้ virutalbox ติดต่อกับ usb ได้ด้วยคำสั่ง <br>sudo usermod -a -G vboxusers $(whoami)<br>sudo usermod -a -G lp $(whoami)<br><br>ตั้งค่าให้ virtualbox ปิด guest โดยอัตโนมัติตอน shutdown host&nbsp; ด้วยคำสั่งว่า<br>sudo sh -c "echo 'SHUTDOWN_USERS=\"$(whoami)\"' &gt;&gt; /etc/default/virtualbox"<br>sudo sh -c "echo "SHUTDOWN=acpibutton" &gt;&gt; /etc/default/virtualbox"<br><br>แค่นี้ก็เสร็จแล้ว ทดสอบใช้งานด้วยคำสั่ง VirtualBox<br>ได้หน้าต่าง VirtualBox License ให้คลิกปุ่ม "I Agree"<br>ได้หน้าต่าง VirtualBox Registration Dialog ให้คลิกปุ่ม "Cancel"<br>คราวนี้ก็ใช้งานได้เลย <br><br>
 
#หากเรียกโปรแกรม VirtualBox แล้ว มี error ประมาณว่า<br>WARNING: The vboxdrv kernel ...<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sudo /etc/init.d/vboxdrv setup<br>&nbsp; ... &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Please consult the User Manual for build instructions.&nbsp; <br>ให้แก้ไขดังนี้ ติดตั้งโปรแกรมเพิ่มเติมด้วยคำสั่ง sudo apt-get install linux-headers-$(uname -r)<br>แล้วสั่งปรับปรุง vboxdrv ใหม่ด้วยคำสั่ง sudo /etc/init.d/vboxdrv setup รอจนเสร็จก็จะใช้งานได้<br><br>อาการแบบนี้อาจเกิดขึ้นหลังจาก upgrade kernel เป็นเวอร์ชั่นใหม่<br><br>
 
#การปรับแต่งให้ใช้ usb ได้ ทำดังนี้<br>หากเป็น ubuntu 10.04 ต้องเพิ่มชื่อ user ให้เป็นสมาชิกของ group ชื่อ vboxusers ด้วย ให้ทำดังนี้<br>sudo usermod -a -G vboxusers $(whoami)<br><br>หากเป็น ubuntu 9.04&nbsp; ให้ตรวจสอบเลข 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&nbsp; ด้วยคำสั่ง VirtualBox<br>ได้หน้าต่าง Sun VirtualBox&nbsp; ที่แถบด้านบนให้เลือกเมนู File -&gt; Virtual Media Manager...&nbsp; <br>ได้หน้าต่าง Virtual Media Manager&nbsp; ที่แถบด้านบนให้เลือกเมนู Actions -&gt; New... <br>ได้หน้าต่าง Welcome to the Cretate New VirtualDisk Wizard! ให้คลิกปุ่ม Next &gt;<br>ได้หน้าต่าง Hard Disk Storage Type&nbsp; ให้คงเลือกค่าเดิมว่า Dynamically expanding storage&nbsp; แล้วคลิกปุ่ม Next &gt;<br>ได้หน้าต่าง Virtual Disk Location and Size&nbsp; ที่ส่วนของ Location ให้ตั้งชื่อแฟ้มให้ถูกต้อง และ/หรือเปลี่ยน path ตามต้องการ<br>ที่ส่วนของ Size ให้ใส่ขนาดตามต้องการ&nbsp; แล้วคลิกปุ่ม Next &gt;<br>ได้หน้าต่าง Summary&nbsp; ให้คลิกปุ่ม Finish<br>กลับมาได้หน้าต่าง Virtual Media Manager&nbsp; หากไม่ทำงานต่ออีก ก็ให้คลิกปุ่ม OK ออกไปได้เลย<br><br>
 
#ตัวอย่างการสร้าง guest&nbsp; ทำดังนี้ เปิดโปรแกรม VritualBox&nbsp; ด้วยคำสั่ง VirtualBox<br>ได้หน้าต่าง Sun VirtualBox&nbsp; ที่แถบด้านบนให้เลือกเมนู Machine -&gt; New...<br>ได้หน้าต่าง Welcome to the New Virtual Machine Wizard! ให้คลิกปุ่ม Next &gt;<br>ได้หน้าต่าง VMname and OS Type ที่ส่วนของ Name ให้ใส่ชื่อ guest ตามต้องการ<br>ที่ส่วนของ OS Type ให้ปรับตั้งค่าให้ถูกต้อง แล้วคลิกปุ่ม Next &gt;<br>ได้หน้าต่าง&nbsp; Memory&nbsp; ที่ส่วนของ Base Memory Size ให้ใส่ขนาด RAM ตามต้องการ แล้วคลิกปุ่ม Next &gt;<br>ได้หน้าต่าง&nbsp; Virtual Hard Disk&nbsp; ให้คงค่าคลิกเลือก&nbsp; Boot Hard Disk (Primary Master) ไว้<br>แล้วเปลี่ยนไปคลิกเลือกหัวข้อ Use existing hard disk&nbsp; แล้วเปลี่ยนให้เป็นชื่อแฟ้ม hard disk ที่เคยสร้างไว้&nbsp; แล้วคลิกปุ่ม Next &gt;<br>ได้หน้าต่าง Summary&nbsp; ให้คลิกปุ่ม Finish<br><br>
 
#ตัวอย่างการปรับแต่ง&nbsp; guest&nbsp; เปิดโปรแกรม VritualBox&nbsp; ด้วยคำสั่ง VirtualBox<br>ได้หน้าต่าง Sun VirtualBox&nbsp; ที่ช่องด้านซ้ายจะมีรายชื่อ guest ที่สร้างไว้&nbsp; ให้เลือก guest ที่ต้องการปรับแต่งไว้ก่อน<br>ไปที่แถบด้านบนให้เลือกเมนู Machine -&gt; Settings...<br>ได้หน้าต่าง ...Settings ที่ช่องด้านซ้ายจะมีรายชื่ออุปกรณ์ที่สามารถใช้งานได้ ให้เลือกอุปกรณ์ที่ต้องการปรับแต่ง<br><br>สำหรับ guest ที่เป็น linux server แนะนำให้ตั้งค่าดังนี้<br>General -&gt; Basic -&gt; Base Memory Size = 256 MB<br>General -&gt; Basic -&gt; Video Memory Size = 1 MB<br>General -&gt; Advanced -&gt;&nbsp; Extended Features: ให้คลิกเลือก Enable PAE/NX เพิ่มด้วย<br>Audio -&gt; ให้คลิกออก ไม่เลือก 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)\"' &gt;&gt; /etc/default/virtualbox"<br>sudo sh -c "echo "SHUTDOWN=acpibutton" &gt;&gt; /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"&nbsp; --type gui <br><br>ให้ guest ชื่อ SAMPLE ทำงานแบบไม่มี gui แต่ remote desktop เข้ามาทำงานได้ ใช้คำสั่ง <br>VBoxManage startvm "SAMPLE"&nbsp; --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&nbsp; VBoxManage startvm "SAMPLE"&nbsp; --type headless<br><br>
 
#หากต้องการให้ remote desktop เข้ามาดู โดยมีการ authen ด้วยบัญชี username และ password บน linux&nbsp; ให้ทำดังนี้<br><br>ส่วนบน guest ให้ตั้งค่าเพิ่มเติมทำดังนี้ เปิดโปรแกรม VritualBox&nbsp; ด้วยคำสั่ง VirtualBox<br>ได้หน้าต่าง Sun VirtualBox&nbsp; ที่ช่องด้านซ้ายจะมีรายชื่อ guest ที่สร้างไว้&nbsp; ให้เลือก guest ที่ต้องการปรับแต่งไว้ก่อน<br>ไปที่แถบด้านบนให้เลือกเมนู Machine -&gt; Settings...<br>ได้หน้าต่าง ...Settings ที่ช่องด้านซ้ายจะมีรายชื่ออุปกรณ์ที่สามารถใช้งานได้ ให้เลือก Display<br>หน้าต่างด้านขวาเปลี่ยนเป็น Display ให้เลือกแถบ Remote Display&nbsp; ให้ตั้งค่าดังนี้<br>Remote Display -&gt; ให้คลิกเลือก Enable Sever เพิ่ม แล้วปรับค่าอื่นๆ<br>Remote Display -&gt; Server Port: ให้ใส่ port ตามต้องการตัวอย่างเช่น 5000<br>Remote Display -&gt; Authentication Method:&nbsp; เลือกเปลี่ยนให้เป็น External<br>Remote Display -&gt; Authentication Timeout: ให้คงเป็น 0 ไว้เหมือนเดิม<br>เสร็จแล้วก็คลิก OK <br><br>ต่อไปบน virtualbox&nbsp; สั่งให้ guest ทำงานทาง command ด้วยตัวอย่าง<br>คำสั่งประมาณว่า&nbsp; VBoxManage startvm "SAMPLE"&nbsp; --type headless<br><br>ตัวอย่างคำสั่งในการใช้ linux PC ตัวอื่นเข้ามาดูด้วยคำสั่ง rdesktop -u username -p - hostname:5000<br>ระบบจะมีการถามให้ป้อนรหัสผ่านก่อน จึงจะอนุญาติให้ใช้งานได้<br><br>
 
#การนำแฟ้ม hard disk&nbsp; ไปใช้งานเป็นอีก guest ในเครื่อง virtualhost เดียวกัน <br>จะใช้วีธี copy แฟ้ม hard disk&nbsp; ไปแล้วเปลี่ยนเป็นชื่ออื่นไม่ได้<br>ต้องทำการ clone hard disk ไปใช้งาน เพราะ virtual มีการจำค่า UUID ไว้<br>ตัวอย่างคำสั่งการ&nbsp; clone hard disk ต้นฉบับจาก source.vdi ไปเป็นปลายทางคือ target.vdi <br>ใช้คำสั่งว่า &nbsp; VBoxManage clonehd&nbsp; source.vdi target.vdi<br>สำหรับเวอร์ชั่น 4.0 ต้องมีการระบุ path ของแฟ้ม vdi ที่ต้องการจัดการด้วย<br>ตัวอย่างเช่น &nbsp; VBoxManage clonehd&nbsp; /home/mama/.VirtualBox/source.vdi&nbsp; /home/mama/.VirtualBox/target.vdi<br><br>
 
#แนะนำให้ติดตั้ง VirtualBox Guest Additions ด้วย เพื่อให้ share folder และแก้ไขปัญหาใช้งานแล้วเกิดมี 2 เมาส์ ทำดังนี้<br>เปิดโปรแกรม VritualBox&nbsp; สั่ง guest ที่ต้องการปรับแต่งให้ทำงานตามปรกติก่อน<br>ด้านบนหน้าต่างของ guest ให้เลือกเมนู Devices -&gt; 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 &gt;<br>ได้หน้าต่าง License Agreement&nbsp; ให้คลิกปุ่ม 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 สามารถเขียนอ่านได้ เช่น&nbsp; 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

  • เลิกใช้งาน