選擇磁碟
print
指令預設會列出系統上第一顆硬碟的分割區資訊,如果您的系統中有多顆硬碟,可以使用 select
指令來選擇要操作的硬碟,例如選擇 /dev/sdb
則執行:
(parted) select /dev/sdb
輸出為
Using /dev/sdb
接著就可以使用 print
列出 /dev/sdb
的磁碟分割區資訊。
令一個選擇硬碟的方式是在執行 parted
指令時用參數指定:
sudo parted /dev/sdb
建立磁碟分割區
Parted 可以用來建立磁碟的主要分割區與邏輯分割區,兩種分割區的建立方式是相同的,這裡示範主要分割區的建立步驟。
在建立分割區之前,請先執行 print
確認一下目前所選擇的硬碟是否正確:
(parted) print
如果是沒有任何資料的硬碟,可能會出現類似這樣的訊息:
Error: /dev/sdb: unrecognised disk label
建立磁碟分割區之前,要先建立磁碟分割表,一般的硬碟最常使用的是 msdos
:
(parted) mklabel msdos
如果是大於 2TB 的硬碟,可以使用 gpt
:
(parted) mklabel gpt
關於 mklabel
所支援的 label 類型,可以參考 GNU Parted 的說明文件。
如果硬碟中已經存在有磁碟分割表的資訊,就會出現這樣的警告:
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No?
若確定無誤,則輸入 y
繼續。
建立好磁碟分割表之後,再用 print
確認一次:
(parted) print
輸出會類似:
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 10.7GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags
接著建立磁碟分割區,分割區可以使用 mkpart
指令來建立:
(parted) mkpart
接著輸入一些設定參數:
Partition name? []? my_part 1 File system type? [ext2]? 2 Start? 1 3 End? 10000 4
1 輸入分割區名稱。
2 檔案系統格式,使用預設即可,之後格式化的時候可在更改。
3 輸入起始位置。
4 輸入結束位置。
如果是使用 msdos
的磁碟分割表,在建立磁碟分割區會有不同的選項:
Partition type? primary/extended? primary File system type? [ext2]? Start? 1 End? 10000
主要的差異是要選擇分割區的類型,primary
是主要分割區,而 extended
則是延伸分割區。
建立好分割區之後,使用 print
確認:
(parted) print
輸出為
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 10.7GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 10.0GB 9999MB my_part
接著離開 Parted 的操作環境。
(parted) quit
在 shell 中使用 mkfs.ext4
格式化分割區:
mkfs.ext4 /dev/sdb1
輸出為
mke2fs 1.42.9 (4-Feb-2014) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 610800 inodes, 2441216 blocks 122060 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2499805184 75 block groups 32768 blocks per group, 32768 fragments per group 8144 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
如果需要將分割區格式化成其他的檔案系統,可以使用其他的 mkfs.*
工具。
mkfs
系列的工具),所以建議在建立好分割區之後,離開 Parted 環境再用一般的工具格式化。這樣新的磁碟分割區就完成了,接著就可以用 mount
將分割區掛載起來使用:
sudo mkdir /mnt/my_part sudo mount /dev/sdb1 /mnt/my_part/
用 df
查看一下掛載後的磁碟狀況:
sudo df -h
輸出為
Filesystem Size Used Avail Use% Mounted on /dev/sda1 5.8G 2.4G 3.2G 44% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 986M 4.0K 986M 1% /dev tmpfs 201M 928K 200M 1% /run none 5.0M 0 5.0M 0% /run/lock none 1001M 136K 1001M 1% /run/shm none 100M 28K 100M 1% /run/user /dev/sdb1 9.1G 21M 8.6G 1% /mnt/my_part
yeh
版大您好!
看到您寫的網誌教人如何格式化新硬碟, 但我卻碰到問題, 因此冒昧寫信請教您
想要請教一下, 我有一顆4TB硬碟想要重新格式化, 但是
我使用parted 卻看不到新裝置, 只有/dev/sda (原本系統的),
使用fdisk -l 可以看到新裝的裝置在/dev/sdg
但是我格式化大於 2TB的新硬碟
所以想請教, 遇到這種狀況應該怎麼處理?
感謝萬分
meow
寫文章辛苦了
提醒一下第二段「最常使用的工具就是 Parted,而這個工具只適用於容量較小的硬碟,容量太大的硬碟就無法使用 fdisk 來處理」,對照前後文應該是fdisk而不是parted哦
G. T. Wang
感謝提醒,已修正。
sihai
請問!!低於2TB如果是500G硬碟會不會使用GTP會有問題啊?
小弟家裡很多500G~1TB硬碟…想說沒有到達2TB直接使用GTP會不會產生什麼問題呢?
小弟困惑中….