Mr.Green

สร้าง บันทึกและแบ่งปัน

พิมพ์ค้นหาบทความได้ในช่องค้นหา

รวมคำสั่ง fdisk ที่ใช้บ่อย

รวมคำสั่ง fdisk ที่ใช้บ่อย เขียนขึ้นมาเพื่อทบทวนให้กับตัวเอง เวลาไม่ได้ใช้นานๆๆ มันลืม fdisk เป็นคำสั่งที่สะดวกมากในการทำงานเกี่ยวกับการจัดการอาร์ดดิสก์ในฝั่งของสาย Linux เพราะไม่มีกราฟิก หรือขั้นตอนต่าง ๆๆ ให้ยุ่งยาก มันเรียบง่ายและเร็วดี ปกติในการจัดการเกี่ยวกับอาร์ดดิสก์ในสาย Linux มีหลายตัว แต่ถนัดตัวนี้ เลยแนะนำตัวนี้เป็นบทความ

Fdisk หากจะแปลความหมายน่าจะหมายถึง fixed disk หรือ format disk มันเป็นเครื่องมือสำหรับ สร้าง ลบ ลดขนาด เปลี่ยนแปลง คัดลอก Partitons ของ Linux ที่ค่อนข้างสะดวกมาก มีคำสั่งมากมาย แต่ จะสรุปที่ใช้บ่อยเพื่อไม่ต้องอ่านมาก

การดู Partitions ทั้งหมดของ Linux

คำสั่งที่ใช้ ในการดู Partitions ทั้งหมดของ Linux ว่ามี partitions อะไรบ้าง ให้ใช้คำสั่ง

fdisk -l

ตัวอย่างเมื่อใช้คำสั่ง fdisk -l

[knupan@Arch Downloads]$ sudo fdisk -l
Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500LM000-1EJ16
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 088ED1EF-08A0-E846-9C0E-D6A80EA62418

Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M Linux filesystem
/dev/sda2 1050624 34605055 33554432 16G Linux filesystem
/dev/sda3 34605056 976773119 942168064 449.3G Linux filesystem

Disk /dev/sdb: 111.8 GiB, 120040980480 bytes, 234455040 sectors
Disk model: WDC WDS120G2G0A-
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DCC62B57-CDDA-4F79-AA1D-B3AC18F3A70A

Device Start End Sectors Size Type
/dev/sdb1 2048 1050623 1048576 512M EFI System
/dev/sdb2 1050624 232452095 231401472 110.3G Linux filesystem
/dev/sdb3 232452096 234452991 2000896 977M Linux swap

ดู partitions ในแต่ละ Block device

ดู partitions ใน Block device ให้ใช้คำสั่งตามตัวอย่างด้านล่าง ค่า x คือตัวแปร ว่าเราจะดู Blok ไหน เช่น /dev/sda /dev/sdb รายละเอียดเกี่ยว /dev/sdx ให้อ่านได้ที่ Device Names in Linux หรือเกี่ยวกับ Block device โดยการใช้คำสั่ง

fdisk -l  /dev/sdx

[knupan@Arch Downloads]$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 111.8 GiB, 120040980480 bytes, 234455040 sectors
Disk model: WDC WDS120G2G0A-
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DCC62B57-CDDA-4F79-AA1D-B3AC18F3A70A

Device Start End Sectors Size Type
/dev/sdb1 2048 1050623 1048576 512M EFI System
/dev/sdb2 1050624 232452095 231401472 110.3G Linux filesystem
/dev/sdb3 232452096 234452991 2000896 977M Linux swap

การใช้งาน fdisk

ในการใช้งาน fdisk เริ่มต้นใช้คำสั่งโดย ใช้คำสั่ง fdisk ตามด้วย ชื่ออุปกรณ์ รายละเอียดอ่านเพิ่มเติมได้จากที่นี้ Device Names in Linux

fdisk  /dev/sdx

หลังจากนั้นจากปรากฏคำสั่ง ขึ้นมาให้เราเลือกที่จะใช้ หากลืมหรือไม่เข้าใจ ให้ใช้วิธีการพิมพ์ตัว m ลงไปเพื่อขอความช่วยเหลือ

ตัวอย่างการใช้คำสั่ง

[knupan@Arch Downloads]$ sudo fdisk /dev/sdb

Welcome to fdisk (util-linux 2.39.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help):

ตัวอย่างเมื่อเราพิมพ์ m เพื่อขอทราบรายละเอียดของแต่ละคำสั่ง

Command (m for help): m

Help:

GPT
M enter protective/hybrid MBR

Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition

Misc
m print this menu
x extra functionality (experts only)

Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file

Save & Exit
w write table to disk and exit
q quit without saving changes

Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty MBR (DOS) partition table
s create a new empty Sun partition table

หากต้องการดู Partitions table ทั้งหมดออกมาเพื่อดู ใช้คำสั่ง พิมพ์ตัว P ลงไป

Command (m for help): P

ตัวอย่างเมื่อเราพิมพ์ p

Command (m for help): p
Disk /dev/sdb: 111.8 GiB, 120040980480 bytes, 234455040 sectors
Disk model: WDC WDS120G2G0A-
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DCC62B57-CDDA-4F79-AA1D-B3AC18F3A70A

Device Start End Sectors Size Type
/dev/sdb1 2048 1050623 1048576 512M EFI System
/dev/sdb2 1050624 232452095 231401472 110.3G Linux filesystem
/dev/sdb3 232452096 234452991 2000896 977M Linux swap

หากต้องการลบ Partitions table ให้พิมพ์ตัว d ลงไป

Command (m for help): d

Command (m for help): d
Partition number (1-3, default 3):

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

หากต้องการ สร้าง Partitions ให้พิมพ์ ต้ว n

Command (m for help): n

Command (m for help): n
Partition number (4-128, default 4):

เนื่องจากเนื้อที่อาร์ดดิสก์ไม่พอ เลยไม่สามารถสร้างเพื่อเป็นตัวอย่างได้ แต่ในขั้นตอนนี้เมื่อปรากฏคำสั่งดังกล่าวมีวิธีการต่อไปคือ

  • กำหนดหมายเลข partitions อย่างในภาพหากเราไม่กำหนดแต่ เรากด Enter เลย เราจะได้ Partition หมายเลข 4
  • กำหนดเลือก sector แรกและ Sector ท้ายสุดของอาร์ดดิสก์ ส่วนมากเรามักจะทำตามโปรแกรมแนะนำ คือ เมื่อบอกจุดเริ่มต้น Sector แรกของอาร์ดดิสก์ เรามันกดข้ามเลย
  • แล้วมากำหนดจำนวนเนื้อที่ที่เราต้องการใน Last sector โดยการพิมพ์ +เนื้อที่อาร์ดดิสที่เราต้องการสร้าง

ต้วอย่างจากภาพ

การบันทึกและออกจาก fdisk

w กรณีบันทึกและออก
q ออกจาก fdisk โดยไม่มีการบันทึก

สรุป

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

ส่วนการจัดการพวก SSD ต่างๆๆ ก็สามารถจัดการได้ทุกอย่าง เพียงแต่ Block device จะมีชื่อเปลี่ยนไปตามที่มีการกำหนดขึ้นมา

Tags:  

Leave a Reply

Your email address will not be published. Required fields are marked *