สร้างบู๊ตดิสก์ USB เพื่อติดตั้งลีนุกซ์ ด้วยคำสั่งบน Mac OS X

นับวันไดร์ฟซีดีหรือดีวีดีที่ติดมากับเครื่องจะหายากขึ้น โดยเฉพาะโน้ตบุ๊คที่มีขนาดเล็ก ที่ผู้ผลิตจะตัดออกไปเพื่อประหยัดพื้นที่ เพื่อให้ตัวเครื่องขนาดบางลง ทำให้หากเราต้องการสร้างแผ่นติดตั้งระบบปฎิบัติการเช่นลีนุกซ์จากไฟล์ iso ที่ดาวน์โหลดมา ก็ต้องไปหาซื้อตัวไดร์ฟดีวีดี external มาต่อเพิ่มเติม

เพื่อเป็นการทดแทน ปัจจุบันเครื่องรุ่นใหม่หลายรุ่นหลายยี่ห้อ ตั้งแต่โน้ตบุ๊ก เครื่อง PC จนถึงระดับเซิร์ฟเวอร์ จะรองรับการบู๊ตด้วยดิสก์ USB เพื่อใช้ในการติดตั้งระบบปฏิบัติการแทน

ในที่นี้ลองมาดูการใช้คำสั่งบนเครื่อง Mac OS X เพื่อสร้างดิสก์ USB เพื่อบู๊ตติดตั้ง CentOS 7 จากไฟล์ iso ที่ดาวน์โหลดมา

ตัวอย่างไฟล์ iso เพื่อติดตั้ง CentOS 7

[alice@MacBook Desktop]$ ls -l
total 16837984
-rw-r-----@ 1 alice staff 4310695936 Aug 21 17:17 CentOS-7-x86_64-DVD-1503-01.iso

ขั้นแรกใช้คำสั่ง hdiutil แปลงไฟล์ iso ให้อยู่ในรูปแบบ UDRW (UDIF read/write image)

[alice@MacBook Desktop]$ hdiutil convert -format UDRW -o target.img CentOS-7.1-x86_64-DVD-1503-01.iso
Reading Master Boot Record (MBR : 0)…
Reading CentOS 7 x86_64                (Apple_ISO : 1)…
Reading (Type EF : 2)…
Reading CentOS 7 x86_64                (Apple_ISO : 3)…
..........................................................................................................................
Elapsed Time: 16.998s
Speed: 241.8Mbytes/sec
Savings: 0.0%
created: /Users/alice/Desktop/target.img.dmg

ตัวอย่างไฟล์ที่ได้

[alice@MacBook Desktop]$ ls -l target.img.dmg
-rw-r--r-- 1 alice staff 4310345728 Sep 11 12:00 target.img.dmg

คำเตือน คำสั่ง dd ที่จะรันต่อไปนี้ จะทำการลบข้อมูลทั้งหมดในดิสก์ USB แล้วเขียนไฟล์ที่ใช้บู๊ตทับลงไป ซึ่งจะทำให้ข้อมูลเดิมที่อยู่ในดิสก์ USB หายไปทั้งหมด

เสียบดิสก์ USB ที่ต้องการสร้าง

ใช้คำสั่ง diskutil list เพื่อดูชื่อที่ใช้อ้างอิงดิสก์ USB

[alice@MacBook Desktop]$ diskutil list
/dev/disk0
   #:                      TYPE NAME          SIZE      IDENTIFIER
   0:     GUID_partition_scheme              *250.1 GB  disk0
   1:                       EFI EFI           209.7 MB  disk0s1
   2:         Apple_CoreStorage               249.4 GB  disk0s2
   3:                Apple_Boot Recovery HD   650.0 MB  disk0s3

/dev/disk1
   #:                      TYPE NAME SIZE IDENTIFIER
   0:                 Apple_HFS Macintosh HD *249.1 GB  disk1
                                  Logical Volume on disk0s2
/dev/disk2
 #:                        TYPE NAME           SIZE     IDENTIFIER
 0:      FDisk_partition_scheme               *31.5 GB  disk2
 1:                Windows_NTFS MyUSB-32GB     31.5 GB  disk2s1

จากตัวอย่างข้างบน ชื่อที่ใช้อ้างอิงดิสก์ USB คือ /dev/disk2

คำแนะนำ หากไม่แน่ใจชื่อดิสก์ อาจลองดึงดิสก์ USB ออก แล้วเปรียบเทียบผลลัพธ์ที่แสดง

ใช้คำสั่ง diskutil unmountDisk เพื่อให้แน่ใจว่าดิสก์ USB ไม่มีการใช้งานอยู่

[alice@MacBook Desktop]$ diskutil unmountDisk /dev/disk2
 Unmount of all volumes on disk2 was successful

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

ใช้คำสั่ง dd เพื่อเขียนไฟล์ UDRW ที่ถูกแปลงมาจากไฟล์ iso ลงบนดิสก์ USB

[alice@MacBook Desktop]$ dd if=target.img.dmg of=/dev/disk2 bs=1m
dd: /dev/disk2: Permission denied

การใช้คำสั่ง dd เพื่อเขียนข้อมูลลงดิสก์โดยตรงแบบนี้ต้องใช้ sudo เพื่อใช้สิทธิ์ superuser

[alice@MacBook Desktop]$ sudo dd if=target.img.dmg of=/dev/disk2 bs=1m
Password:
4110+1 records in
4110+1 records out
4310345728 bytes transferred in 1945.272581 secs (2215806 bytes/sec)

คำสั่งนี้จะใช้เวลาค่อนข้างนาน เครื่องของผม (MacBook ปี 2014) ใช้เวลาประมาณครึ่งชั่วโมง

หมายเหตุ หลังจากรันคำสั่ง dd เสร็จแล้ว จะมีข้อความ “The disk you inserted was not readable by this computer” แสดงขึ้นมา ให้เลือก Eject

u01-disk-was-not-readable

เมื่อเสร็จเรียบร้อยแล้ว ลองนำไปใช้บู๊ตกันในเครื่องที่ต้องการ อย่าลืมตั้งค่าใน BIOS ให้เครื่องบู๊ตจากไดร์ฟ USB

u02-boot-centos-7

นอกจาก CentOS แล้ว ยังสามารถใช้วิธีการเดียวกันนี้ เพื่อใช้สร้างดิสก์ USB เพื่อใช้บู๊ตติดตั้ง Ubuntu ได้ด้วย

ตัวอย่างการสร้างดิสก์ USB เพื่อใช้บู๊ตติดตั้ง Ubuntu 14.04.3 จากไฟล์ iso ที่ดาวน์โหลดมา

[alice@MacBook Desktop]$ ls -l
-rw-r-----@ 1 alice staff 601882624 Sep 20 14:31 ubuntu-14.04.3-server-amd64.iso
[alice@MacBook Desktop]$ hdiutil convert -format UDRW -o target.img ubuntu-14.04.3-server-amd64.iso
Reading Driver Descriptor Map (DDM : 0)…
Reading Ubuntu-Server 14.04.3 LTS amd64 (Apple_ISO : 1)…
Reading Apple (Apple_partition_map : 2)…
Reading Ubuntu-Server 14.04.3 LTS amd64 (Apple_ISO : 3)…
....................................................
Reading EFI (Apple_HFS : 4)…
....................................................
Reading Ubuntu-Server 14.04.3 LTS amd64 (Apple_ISO : 5)…
..................................................................................................
Elapsed Time: 1.489s
Speed: 385.4Mbytes/sec
Savings: 0.0%
created: /Users/alice/Desktop/target.img.dmg
[alice@MacBook Desktop]$ ls -l
-rw-r--r--  1 alice staff 601882624 Sep 20 18:29 target.img.dmg
-rw-r-----@ 1 alice staff 601882624 Sep 20 14:31 ubuntu-14.04.3-server-amd64.iso
[alice@MacBook Desktop]$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
[alice@MacBook Desktop]$ sudo dd if=target.img.dmg of=/dev/disk2 bs=1m
Password:

ลองนำไปใช้กันดูครับ

ข้อมูลอ้างอิง

Leave a Reply

Your email address will not be published.