批次硬碟分割與格式化

前置作業

請先練習過手動的分割與格式化以及熟悉 fdisk 再來操作本篇指令

fdisk 操作說明

隨身碟分割與格式化

開始練習

進入 root 權限

su -

首先插入隨身碟,確認隨身碟代號

dmesg
確認隨身碟代號為 /dev/sdb 並且擁有四個分割區

下指令一次清空隨身碟(期中考會考)

dd if=/dev/zero of=/dev/sdb bs=512 count=1

確認隨身碟已經被清空了

fdisk /dev/sdb
p
分區表已被清空

撰寫自動分割腳本

隨身碟分割與格式化文章中已經練習了如何用手動去清除以及建立分割表最後格式化

現在要用自動化的腳本去完成以上那些事情

首先先建立一個檔案叫做 fdisk.cmd 其內容如以下方式新增 / 編輯

我們在 fdisk 裡面下什麼樣的指令,在 fdisk.cmd 裡面就要寫下一模一樣的指令(連 Enter 都要一樣)

目標是要建立兩個分割區,分別為

  • 分割區 1、容量為 100 MB、ID 為 b、Type 為 W95 FAT32
  • 分割區 2、容量為剩餘容量、ID 為 83、Type 為 Linux

由於在上面的步驟已經清空了隨身碟,現在你會有一隻啥都沒有的隨身碟

首先新建分割區,輸入以下指令新增,以及新增到 fdisk.cmd 檔案

n

選擇為主要分割區

p

選擇為第 1 個分割區

1

起始分割區用預設,直接按下 Enter (fdisk.cmd也是要按一個 Enter)

輸入分區大小,這裡是 100MB

+100M

中間過程就不贅述,最後會變成這樣

儲存 fdisk.cmd 檔案

讓腳本自動分割隨身碟 (期中考會考)

在剛剛已經做好了腳本檔案,再來要用這個腳本檔案去自動分割隨身碟

那先清除剛剛已經分割好的隨身碟

dd if=/dev/zero of=/dev/sdb bs=512 count=1

然後查看一下分割區

fdisk /dev/sdb
p
確認已經清除了這個隨身碟的分割區

再來就用剛剛的腳本來自動分割隨身碟!

fdisk /dev/sdb < fdisk.cmd

分割完成,看看有沒有分割成功

fdisk -lu /dev/sdb
分區跑出來了,分割成功!

撰寫自動分割與格式化腳本(期末上機考會考)

再次提醒,要記得安裝隨身碟分割與格式化裡面的套件 dosfstools,不然會無法格式化 FAT32 的分割區!

目前的隨身碟有兩個分割區,分別為 /dev/sdb1 與 /dev/sdb2

那現在把這兩個分割區格式化

  • /dev/sdb1 使用 mkdosfs /dev/sdb1
  • /dev/sdb2 使用 mkfs.ext4 /dev/sdb2

建立一個腳本檔案,名為「createusb.sh」並且將以下程式碼打入

USB=/dev/sdb

PART1=/dev/sdb1
PART2=/dev/sdb2

PART1_SIZE=200M

cat > /tmp/fdisk.cmd << EOF
n
p
1

+$PART1_SIZE
t
b
n
p
2


w
EOF

dd if=/dev/zero of=$USB bs=512 count=1

fdisk $USB < /tmp/fdisk.cmd
mkdosfs $PART1
mkfs.ext4 -F $PART2

執行腳本之前可以先把隨身碟分割表清空,方便觀察結果

dd if=/dev/zero of=/dev/sdb bs=512 count=1
fdisk -lu /dev/sdb

執行自動分割與格式化腳本

sh createusb.sh

驗證一下有沒有格式化成功了

fdisk -lu /dev/sdb
自動分割成功

再來驗證有沒有格式化成功

blkid /dev/sdb1
blkid /dev/sdb2
自動格式化成功

到這裡就完成了批次分割與自動格式化的腳本

這個部分要熟,很熟,非常熟

因為 poming 說會考!!

SHXJ
Latest posts by SHXJ (see all)

在〈批次硬碟分割與格式化〉中有 1 則留言

發佈留言