有没有办法使用bash脚本创建和格式化分区?
我认为它可以用 fdisk 完成,但我不知道如何将命令从 bash 脚本输入 fdisk shell,然后退出 fdisk shell。
我想创建一个分区,然后在 bash 中将其格式化为 ntfs。
我有两个分区相同的驱动器,并在每个驱动器上运行两个 RAID 分区。
一个死了,我在同一型号的保修期内更换了它。
在尝试对其进行分区时,第一个分区只能从扇区 2048 开始,而不是之前的 63 扇区。驱动器具有与以前和剩余的不同的几何形状。(更少的磁头/更多的气缸)
旧驱动:
$ sudo fdisk -c -u -l /dev/sdb
Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000aa189
Device Boot Start End Blocks Id System
/dev/sdb1 * 63 174080339 87040138+ 83 Linux
/dev/sdb2 174080340 182482334 4200997+ 82 …Run Code Online (Sandbox Code Playgroud) 在 Linux 中,该命令sudo fdisk -l会生成一个输出,其中列出了计算机中的所有磁盘和分区。下面是一个例子:

如果我尝试sudo fdisk -l在 MacOS X 10.7.5 中使用,输出如下:
fdisk: illegal option -- l
usage: fdisk [-ieu] [-f mbrboot] [-c cyl -h head -s sect] [-S size] [-r] [-a style] disk
-i: initialize disk with new MBR
-u: update MBR code, preserve partition table
-e: edit MBRs on disk interactively
-f: specify non-standard MBR template
-chs: specify disk geometry
-S: specify disk size
-r: read partition specs from stdin (implies -i)
-a: auto-partition …Run Code Online (Sandbox Code Playgroud) 我正在查看适用于 Linux 的 ZFS 的文档,我遇到了一个命令,说明告诉我运行以准备使用的磁盘。
命令是;
sfdisk -q /dev/zvol/tank/fish << EOF
0,
EOF
Run Code Online (Sandbox Code Playgroud)
包括换行符命令占用 3 行
sfdisk 有什么作用?是否与创建新分区表相同还是有所不同?
这是我正在查看的文档,链接
我最近从一台计算机上卸载了一个 4TB 硬盘,以便直接从另一台计算机访问文件。卸载过程似乎没有问题。将硬盘连接到另一台计算机时,硬盘在“/dev”中识别为sdb,但未出现分区“sdb1”,因此无法挂载。如果我跑
fdisk -l /dev/sdb
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 4294967295 2147483647+ ee GPT …Run Code Online (Sandbox Code Playgroud) 我有一台最近“死机”的戴尔笔记本电脑(启动时会出现蓝屏死机)并且硬盘驱动器会发出奇怪的循环咔嗒声。
我想看看我是否可以在我的 linux 机器上使用一些工具来恢复数据,所以我把它插入那里。
如果我运行“fdisk”,我会得到:
Disk /dev/sdb: 20.0 GB, 20003880960 bytes
64 heads, 32 sectors/track, 19077 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x64651a0a
Disk /dev/sdb doesn't contain a valid partition table
Run Code Online (Sandbox Code Playgroud)
好吧,分区表搞砸了。但是,如果我运行“testdisk”以尝试修复该表,它此时会冻结,并发出相同的循环点击噪音:
Disk /dev/sdb - 20 GB / 18 GiB - CHS 19078 64 32
Analyse cylinder 158/19077: 00%
Run Code Online (Sandbox Code Playgroud)
我真的不关心硬盘驱动器再次工作,只关心数据,所以我运行“gpart”来找出分区以前的位置。我懂了:
dev(/dev/sdb) mss(512) chs(19077/64/32)(LBA) #s(39069696) size(19077mb)
* Warning: strange partition table magic 0x2A55.
Primary partition(1)
type: 222(0xDE)(UNKNOWN)
size: 15mb #s(31429) s(63-31491)
chs: (0/1/1)-(3/126/63)d (0/1/32)-(15/24/4)r …Run Code Online (Sandbox Code Playgroud) 我有一个 ubuntu 桌面系统(VM 来宾),它的分区是由安装媒体创建的。我想扩展磁盘,所以我关闭了来宾,并增加了主机中来宾的磁盘大小。现在我需要扩展来宾中的分区 - 这就是问题所在:
如果我打印原始表格,这就是我得到的:
$ sudo fdisk -l /dev/sda
Disk /dev/sda: 37.6 GB, 37580963840 bytes
255 heads, 63 sectors/track, 4568 cylinders, total 73400320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 41940991 20719617 5 Extended
/dev/sda5 501760 41940991 20719616 8e Linux LVM …Run Code Online (Sandbox Code Playgroud) 我有一个闪存驱动器,我想了解它从fdisk. 我插入它并检查它dmesg,我可以看到它已安装,/dev/sdb1所以我跑去fdisk查看报告的内容/dev/sdb
mike@mike-Qosmio-X770:~$ sudo fdisk -l
[sudo] password for mike:
Disk /dev/sdb: 127 MB, 127926272 bytes
16 heads, 32 sectors/track, 488 cylinders, total 249856 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6b3ee723
Device Boot Start End Blocks Id System
/dev/sdb1 * 32 249854 124911+ b W95 FAT32
Run Code Online (Sandbox Code Playgroud)
据我所知,该驱动器是一个 128MB …
我需要查看我的磁盘是如何分区的,我记得我必须使用该命令
fdisk -l
但在 Debian wheezy 中没有安装。我安装了
gnu-fdisk
但没有任何变化。
我该如何解决?是否有其他程序可以以同样的方式帮助我?
我需要创建一个用于虚拟机的原始磁盘映像,但我需要在创建文件系统或安装操作系统之前创建分区。
谁能描述一个过程来做到这一点?