赞
踩
sfdisk
是一个用于编辑硬盘分区表的命令。它与fdisk
和cfdisk
类似,但具有更多的功能。此外,与这两个程序不同,sfdisk
可以非交互式地运行。它通常用于从脚本中对驱动器进行分区,或用于分区表的备份和恢复³。
sfdisk
命令在大多数Linux发行版中都可以使用,包括Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian等。如果在某些Linux发行版中无法使用sfdisk
命令,可能需要安装相关的软件包。例如,在Debian或Ubuntu上,可以使用以下命令进行安装:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install util-linux
在RedHat/CentOS 7上,可以使用以下命令进行安装:
[linux@bashcommandnotfound.cn ~]$ sudo yum install util-linux
在RedHat/CentOS 8上,可以使用以下命令进行安装:
[linux@bashcommandnotfound.cn ~]$ sudo dnf install util-linux
sfdisk
命令的基本语法如下:
sfdisk [options] device [ -N partition-number ]
sfdisk [options] command
以下是sfdisk
命令的一些常用选项:
选项 | 说明 |
---|---|
-l | 列出指定设备上的分区 |
-s | 显示分区的大小 |
-V | 对设备上的分区表进行各种一致性检查 |
-N | 创建分区表 |
以下是一些sfdisk
命令的使用实例:
[linux@bashcommandnotfound.cn ~]$ sfdisk -l /dev/sda
这个命令会列出/dev/sda
设备上的所有分区。
[linux@bashcommandnotfound.cn ~]$ sfdisk -s /dev/sda1
这个命令会显示/dev/sda1
分区的大小。
[linux@bashcommandnotfound.cn ~]$ sfdisk -V /dev/sda
这个命令会对/dev/sda
设备上的分区表进行一致性检查。
[linux@bashcommandnotfound.cn ~]$ echo ',,L' | sfdisk /dev/sdb
这个命令会在/dev/sdb
设备上创建一个新的分区表。
[linux@bashcommandnotfound.cn ~]$ sfdisk -d /dev/sdb > backup.sfdisk
这个命令会备份/dev/sdb
设备上的分区表到backup.sfdisk
文件。
[linux@bashcommandnotfound.cn ~]$ sfdisk /dev/sdb < backup.sfdisk
这个命令会从backup.sfdisk
文件恢复/dev/sdb
设备上的分区表。
[linux@bashcommandnotfound.cn ~]$ sfdisk -s
这个命令会显示所有分区的大小。
[linux@bashcommandnotfound.cn ~]$ sfdisk -l -uM /dev/sdb
这个命令会以MB为单位显示/dev/sdb
设备上的分区表的详细信息。
[linux@bashcommandnotfound.cn ~]$ echo ',,L' | sfdisk --delete /dev/sdb
这个命令会删除/dev/sdb
设备上的所有分区。
[linux@bashcommandnotfound.cn ~]$ echo ',+100M,L' | sfdisk --resize /dev/sdb
这个命令会将/dev/sdb
设备上的分区大小调整为100MB。
[linux@bashcommandnotfound.cn ~]$ echo ',+100M,L' | sfdisk --move /dev/sdb
这个命令会将/dev/sdb
设备上的分区向前移动100MB。
[linux@bashcommandnotfound.cn ~]$ sfdisk -d /dev/sdb | sfdisk /dev/sdb
这个命令会将/dev/sdb
设备上的分区表复制到/dev/sdb
设备上。
[linux@bashcommandnotfound.cn ~]$ sfdisk -l -uM /dev/sdb
这个命令会显示/dev/sdb
设备上的分区类型。
[linux@bashcommandnotfound.cn ~]$ echo ',,L' | sfdisk --change-id /dev/sdb 1 82
这个命令会将/dev/sdb
设备上的第一个分区的类型改变为82(Linux swap)。
[linux@bashcommandnotfound.cn ~]$ sfdisk --verify /dev/sdb
这个命令会验证/dev/sdb
设备上的分区表的一致性。
sfdisk
命令不理解GPT(GUID分区表)格式,也不适用于大分区。在这些情况下,使用更高级的GNU parted。sfdisk
命令在创建新的磁盘标签时保护第一个磁盘扇区。sfdisk
命令使用BLKRRPART(重新读取分区表)ioctl来确保设备不被系统或其他工具使用。如果在使用sfdisk
命令时遇到bash: sfdisk: command not found
错误,可以尝试按照上述方法安装util-linux
软件包。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。