批次硬碟分割与格式化

前置作业

请先练习过手动的分割与格式化以及熟悉 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 则留言

发布留言