fdisk /dev/sdb
时间: 2024-09-03 08:00:54 浏览: 56
`fdisk /dev/sdb` 是一个在类Unix操作系统中使用的命令行工具,用于对指定的硬盘分区进行管理。这里 `/dev/sdb` 是硬盘设备文件的名称,表示第二块SCSI或SATA接口的硬盘。使用这个命令,用户可以查看、创建、删除和调整硬盘分区。
具体来说,`fdisk` 命令提供的功能包括但不限于:
1. 查看当前硬盘的分区表情况。
2. 创建新的分区。
3. 删除已有的分区。
4. 修改分区的类型。
5. 改变分区的起始和结束位置。
6. 设置硬盘的活动分区(启动分区)。
7. 写入分区表到硬盘上。
在使用 `fdisk` 命令时,需要注意的是,它只能用于对小于2TB的硬盘进行分区操作,因为其内部使用的是MBR(Master Boot Record)分区表,而MBR分区表的限制之一就是最多只能识别2TB的磁盘。对于大于2TB的硬盘,通常推荐使用GPT分区表,相应的工具是 `gdisk` 或者使用 `parted` 命令。
在实际操作前,建议备份重要数据,因为对分区的操作可能会导致数据丢失。并且,一旦对分区进行了更改,需要使用 `fdisk` 命令的 `w`(write)选项来写入更改到硬盘,这一步是不可逆的,执行后分区表即被更新。
相关问题
使用expect实现fdisk /dev/sdb 免交互创建分区,要求一次性创建一个20G/dev/sdb1的普通分区和一个4G/dev/sdb的swap分区和一个逻辑分区10G /dev/sdb5
可以使用expect脚本实现免交互创建分区,具体实现如下:
```expect
#!/usr/bin/expect
set timeout 5
spawn fdisk /dev/sdb
expect "Command (m for help):"
send "n\r"
expect "Select (default p):"
send "p\r"
expect "Partition number (2-4, default 2):"
send "1\r"
expect "First sector (2048-41943039, default 2048):"
send "\r"
expect "Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039):"
send "+20G\r"
expect "Command (m for help):"
send "n\r"
expect "Select (default p):"
send "p\r"
expect "Partition number (2-4, default 2):"
send "2\r"
expect "First sector (41943040-41943039, default 41943040):"
send "\r"
expect "Last sector, +/-sectors or +/-size{K,M,G,T,P} (41943040-41943039, default 41943039):"
send "+4G\r"
expect "Command (m for help):"
send "n\r"
expect "Select (default p):"
send "e\r"
expect "Partition number (2-4, default 2):"
send "\r"
expect "First sector (8392704-41943039, default 8392704):"
send "\r"
expect "Last sector, +/-sectors or +/-size{K,M,G,T,P} (8392704-41943039, default 41943039):"
send "+10G\r"
expect "Command (m for help):"
send "t\r"
expect "Partition number (1-5):"
send "2\r"
expect "Hex code (type L to list all codes):"
send "82\r"
expect "Command (m for help):"
send "w\r"
expect eof
```
脚本中,使用spawn命令启动fdisk命令,并使用expect命令匹配fdisk命令的交互提示,并发送对应的输入,以达到自动创建分区的目的。其中,"+20G"、"+4G"和"+10G"分别表示创建20G、4G和10G大小的分区。最后,使用expect命令匹配fdisk命令的结束符,结束交互。
使用expect实现fdisk /dev/sdb 免交互创建分区,要求创建逻辑分区10G /dev/sdb5
可以使用以下expect脚本实现:
```
#!/usr/bin/expect
set timeout 10
spawn fdisk /dev/sdb
expect "Command (m for help): "
send "n\r"
expect "Select (default p): "
send "l\r"
expect "Partition number (1-4): "
send "5\r"
expect "First sector (): "
send "\r"
expect "Last sector, +sectors or +size{K,M,G,T,P} (): "
send "+10G\r"
expect "Command (m for help): "
send "w\r"
expect eof
```
解释一下:
- `set timeout 10`:设置超时时间为10秒。
- `spawn fdisk /dev/sdb`:执行fdisk命令,打开/dev/sdb磁盘的分区表。
- `expect "Command (m for help): "`:等待命令提示符出现。
- `send "n\r"`:发送n键,表示创建新分区。
- `expect "Select (default p): "`:等待分区类型选择提示。
- `send "l\r"`:发送l键,表示创建逻辑分区。
- `expect "Partition number (1-4): "`:等待分区号输入提示。
- `send "5\r"`:发送5键,表示创建第5个分区。
- `expect "First sector (): "`:等待第一个扇区号输入提示。
- `send "\r"`:直接回车,表示使用默认的第一个扇区号。
- `expect "Last sector, +sectors or +size{K,M,G,T,P} (): "`:等待最后一个扇区号或者分区大小输入提示。
- `send "+10G\r"`:发送+10G,表示创建大小为10G的分区。
- `expect "Command (m for help): "`:等待命令提示符出现。
- `send "w\r"`:发送w键,表示保存分区表并退出。
- `expect eof`:等待命令执行完毕并退出。
阅读全文