300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > linux下shell检测sd卡分区表 shell中给sd卡或u盘分区

linux下shell检测sd卡分区表 shell中给sd卡或u盘分区

时间:2021-08-14 19:26:22

相关推荐

linux下shell检测sd卡分区表 shell中给sd卡或u盘分区

#/dev/sdb 就是目标sd卡或者u盘

DRIVE=/dev/sdb

dd if=/dev/zero of=$DRIVE bs=1024 count=1024

#获取sd卡容量;| 管道符号:将上一层的输出作为下一层的输入。awk 是个工具此处为抓取上层输出的所有内容中的第五项内容。最后将抓取的内容赋值给了SIZE

SIZE=`fdisk -l $DRIVE | grep Disk | awk '{print $5}'`

echo DISK SIZE - $SIZE bytes

#我的sd卡为1G所以CYLINDERS=1024*1024*1024/255/63/512=130不知道为什么这么算,63为扇区数,255磁头数,CYLINDER cylinder 柱

CYLINDERS=`echo $SIZE/255/63/512 | bc`

echo CYLINDERS - $CYLINDERS

{

echo ,9,0x0C,*

echo ,166,0x0C,-

echo ,,,-

} | sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE

sfdisk为硬盘分区工具程序,可显示分区的设定信息,并检查分区是否正常。

sfdisk也可用来建立分区。由于建立硬盘分区兹事体大,建议还是使用为个别操作系统设计的硬盘分区工具程序比较妥当,如用fdisk建立DOS分区,用Disk Druid或sfdisk建立linux的分区。

二、用法:

sfdisk [options] device …

选项说明:

常用选项:

-s [or --show-size]: 显示一个分区的大小

-c [or --id]: 显示或者修改文件系统类型ID

-l [or --list]: 显示每个设备的分区表信息

-d [or --dump]: 同上,但是以一个格式化的方式输出

-i [or --increment]: number cylinders etc. from 1 instead of from 0

-uS, -uB, -uC, -uM: 以扇面/块/柱面数/MB为单位 显示或形成报告

-T [or --list-types]:显示所有已知的sfdisk能辨识的文件系统ID

-D [or --DOS]: 兼容DOS但是会浪费一点磁盘空间

-R [or --re-read]: 让内核重新读取分区表

-N# : 只改变分区的编号 #

-n : 修改但实际上并没有保存到磁盘

-O file : 保存扇面修改并写入分区表文件

-I file : 重新恢复修改的扇面

危险的选项:

-g [or --show-geometry]: print the kernel’s idea of the geometry

-G [or --show-pt-geometry]: print geometry guessed from the partition table

-x [or --show-extended]: also list extended partitions on output

or expect descriptors for them on input

-L [or --Linux]: do not complain about things irrelevant for Linux

-q [or --quiet]: suppress warning messages

You can override the detected geometry using:

-C# [or --cylinders #]:set the number of cylinders to use

-H# [or --heads #]: set the number of heads to use

-S# [or --sectors #]: set the number of sectors to use

三、示例:

sfdisk -d /dev/hda > hda-table 备份分区表并保存到文件

sfdisk /dev/hda < hda-table 从文件中恢复分区表

sfdisk -d /dev/hda | sfdisk /dev/hdb 在两个磁盘间复制分区表

注意事项

(1)sfdisk命令处理的设备通常是如下形式的:/dev/hda、/dev/hdb、/dev/sda、/dev/sdb等.其中,/dev/hd[a-h]表示IDE硬盘,/dev/sd[a-h]表示SCSI硬盘,/dev/ed[a-h]表示ESDI硬盘,/dev/xd[a-h]表示XT硬盘。

一个设备的名称表示整个硬盘,而分区则用设备名加一个分区号表示,如/dev/sda2表示系统中第一块SCSI硬盘的第二个分区。

(2)sfdisk命令会改变硬盘和分区的设备,在使用时要小心,特别是对于其中能够修改磁盘CHS参数的“危险选项”。

(3)ls命令的参数中有很多单个字母,大小写有不同的含义,容易混淆。在使用时要加以区分。注意事项

(1)sfdisk命令处理的设备通常是如下形式的:/dev/hda、/dev/hdb、/dev/sda、/dev/sdb等.其中,/dev/hd[a-h]表示IDE硬盘,/dev/sd[a-h]表示SCSI硬盘,/dev/ed[a-h]表示ESDI硬盘,/dev/xd[a-h]表示XT硬盘。

一个设备的名称表示整个硬盘,而分区则用设备名加一个分区号表示,如/dev/sda2表示系统中第一块SCSI硬盘的第二个分区。

(2)sfdisk命令会改变硬盘和分区的设备,在使用时要小心,特别是对于其中能够修改磁盘CHS参数的“危险选项”。

(3)ls命令的参数中有很多单个字母,大小写有不同的含义,容易混淆。在使用时要加以区分

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。