⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sfdisk.examples

📁 Util-linux 软件包包含许多工具。其中比较重要的是加载、卸载、格式化、分区和管理硬盘驱动器
💻 EXAMPLES
字号:
Examples of the use of sfdisk 3.0 (to partition a disk)Input lines have fields <start>,<size>,<type>... - see sfdisk.8.Usually no <start> is given, and input lines start with a comma.Before doing anything with a disk, make sure it is not in use;unmount all its file systems, and say swapoff to its swap partitions.(The final BLKRRPART ioctl will fail if anything else still usesthe disk, and you will have to reboot. It is easier to first makesure that nothing uses the disk, e.g., by testing:	% umount /dev/sdb1	% sfdisk -R /dev/sdb	BLKRRPART: Device or resource busy      * Device busy for revalidation (usage=2)	% swapoff /dev/sdb3	% sfdisk -R /dev/sdb      * sdb: sdb1 < sdb5 sdb6 > sdb3	%Note that the starred messages are kernel messages, that may belogged somewhere, or written to some other console.In sfdisk 3.01 sfdisk automatically does this check, unless told not to.)1. One big partition:	sfdisk /dev/hda << EOF	;	EOF(If there was garbage on the disk before, you may get error messageslike: `ERROR: sector 0 does not have an msdos signature'and `/dev/hda: unrecognized partition'. This does not matterif you write an entirely fresh partition table anyway.)The output will be:-----------------------------------------------------------------------Old situation:...New situation:Units = cylinders of 208896 bytes, blocks of 1024 bytes, counting from 0   Device Boot Start     End   #cyls   #blocks   Id  System/dev/hda1          0+   1023    1024-   208895+  83  Linux nativeSuccessfully wrote the new partition table  hda: hda1-----------------------------------------------------------------------Writing and rereading the partition table takes a few seconds -don't be alarmed if nothing happens for six seconds or so.2. Three primary partitions: two of size 50MB and the rest:	sfdisk /dev/hda -uM << EOF	,50	,50	;	EOF-----------------------------------------------------------------------New situation:Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from 0   Device Boot Start   End     MB   #blocks   Id  System/dev/hda1         0+    50-    51-    51203+  83  Linux native/dev/hda2        50+   100-    51-    51204   83  Linux native/dev/hda3       100+   203    104-   106488   83  Linux nativeSuccessfully wrote the new partition table  hda: hda1 hda2 hda3-----------------------------------------------------------------------/dev/hda1 is one block (in fact only half a block) shorter than/dev/hda2 because its start had to be shifted away from zero inorder to leave room for the Master Boot Record (MBR).3. A 1MB OS2 Boot Manager partition, a 50MB DOS partition,   and three extended partitions (DOS D:, Linux swap, Linux):	sfdisk /dev/hda -uM << EOF	,1,a	,50,6	,,E	;	,20,4	,16,S	;	EOF-----------------------------------------------------------------------   Device Boot Start   End     MB   #blocks   Id  System/dev/hda1         0+     1-     2-     1223+   a  OS/2 Boot Manager/dev/hda2         1+    51-    51-    51204    6  DOS 16-bit FAT >=32M/dev/hda3        51+   203    153-   156468    5  Extended/dev/hda4         0      -      0         0    0  Empty/dev/hda5        51+    71-    21-    20603+   4  DOS 16-bit FAT <32M/dev/hda6        71+    87-    17-    16523+  82  Linux swap/dev/hda7        87+   203    117-   119339+  83  Linux nativeSuccessfully wrote the new partition table  hda: hda1 hda2 hda3 < hda5 hda6 hda7 >-----------------------------------------------------------------------All these rounded numbers look better in cylinder units:	% sfdisk -l /dev/hda-----------------------------------------------------------------------   Device Boot Start     End   #cyls   #blocks   Id  System/dev/hda1          0+      5       6-     1223+   a  OS/2 Boot Manager/dev/hda2          6     256     251     51204    6  DOS 16-bit FAT >=32M/dev/hda3        257    1023     767    156468    5  Extended/dev/hda4          0       -       0         0    0  Empty/dev/hda5        257+    357     101-    20603+   4  DOS 16-bit FAT <32M/dev/hda6        358+    438      81-    16523+  82  Linux swap/dev/hda7        439+   1023     585-   119339+  83  Linux native-----------------------------------------------------------------------But still - why does /dev/hda5 not start on a cylinder boundary?Because it is contained in an extended partition that does.Of the chain of extended partitions, usually only the first isshown. (The others have no name under Linux anyway.) Butthese additional extended partitions can be made visible:	% sfdisk -l -x /dev/hda-----------------------------------------------------------------------   Device Boot Start     End   #cyls   #blocks   Id  System/dev/hda1          0+      5       6-     1223+   a  OS/2 Boot Manager/dev/hda2          6     256     251     51204    6  DOS 16-bit FAT >=32M/dev/hda3        257    1023     767    156468    5  Extended/dev/hda4          0       -       0         0    0  Empty/dev/hda5        257+    357     101-    20603+   4  DOS 16-bit FAT <32M    -            358    1023     666    135864    5  Extended    -            257     256       0         0    0  Empty    -            257     256       0         0    0  Empty/dev/hda6        358+    438      81-    16523+  82  Linux swap    -            439    1023     585    119340    5  Extended    -            358     357       0         0    0  Empty    -            358     357       0         0    0  Empty/dev/hda7        439+   1023     585-   119339+  83  Linux native    -            439     438       0         0    0  Empty    -            439     438       0         0    0  Empty    -            439     438       0         0    0  Empty-----------------------------------------------------------------------Why the empty 4th input line? The description of the extended partitionsstarts after that of the four primary partitions.You force an empty partition with a ",0" input line, but here allspace was divided already, so the fourth partition became emptyautomatically.How did I know about 4,6,a,E,S? Well, E,S,L stand for Extended,Swap and Linux. The other values are hexadecimal and come fromthe table:	% sfdisk -T	Id  Name		 0  Empty	 1  DOS 12-bit FAT	 2  XENIX root	 3  XENIX usr	 4  DOS 16-bit FAT <32M	 5  Extended	 6  DOS 16-bit FAT >=32M	 7  OS/2 HPFS or QNX or Advanced UNIX	 8  AIX data	 9  AIX boot or Coherent	 a  OS/2 Boot Manager	...4. Preserving the sectors changed by sfdisk.	% sfdisk -O save-hdd-partition-sectors /dev/hda        ...   will write the sectors overwritten by sfdisk to file.   If you notice that you trashed some partition, you may   be able to restore things by	% sfdisk -I save-hdd-partition-sectors /dev/hda	%5. Preserving some old partitions.	% sfdisk -N2 /dev/hda	...   will only change the partition /dev/hda2, and leave the rest   unchanged. The most obvious application is to change an Id:	% sfdisk -N7 /dev/hda	,,63	%-----------------------------------------------------------------------Old situation:   Device Boot Start     End   #cyls   #blocks   Id  System/dev/hda1          0+      5       6-     1223+   a  OS/2 Boot Manager.../dev/hda6        358+    438      81-    16523+  82  Linux swap/dev/hda7        439+   1023     585-   119339+  83  Linux nativeNew situation:   Device Boot Start     End   #cyls   #blocks   Id  System/dev/hda1          0+      5       6-     1223+   a  OS/2 Boot Manager.../dev/hda6        358+    438      81-    16523+  82  Linux swap/dev/hda7        439+   1023     585-   119339+  63  GNU HURD-----------------------------------------------------------------------   Note that changing a logical partition into an empty partition   will decrease the number of all subsequent logical partitions.   6. Deleting a partition.At first I thought of having an option -X# for deleting partitions,but there are several ways in which a partition can be deleted, andit is probably better to handle this just as a general change.	% sfdisk -d /dev/hda > ohdawill write the current tables on the file `ohda'.-----------------------------------------------------------------------% cat ohda# partition table of /dev/hdaunit: sectors/dev/hda1 : start=        1, size=   40799, Id= 5/dev/hda2 : start=    40800, size=   40800, Id=83/dev/hda3 : start=    81600, size=  336192, Id=83/dev/hda4 : start=        0, size=       0, Id= 0/dev/hda5 : start=        2, size=   40798, Id=83-----------------------------------------------------------------------In order to delete the partition on /dev/hda3, edit this fileand feed the result to sfdisk again.-----------------------------------------------------------------------% emacs ohda% cat ohda# partition table of /dev/hdaunit: sectors/dev/hda1 : start=        1, size=   40799, Id= 5/dev/hda2 : start=    40800, size=   40800, Id=83/dev/hda3 : start=        0, size=       0, Id= 0/dev/hda4 : start=        0, size=       0, Id= 0/dev/hda5 : start=        2, size=   40798, Id=83% sfdisk /dev/hda < ohdaOld situation:Units = cylinders of 208896 bytes, blocks of 1024 bytes, counting from 0   Device Boot Start     End   #cyls   #blocks   Id  System/dev/hda1          0+     99     100-    20399+   5  Extended/dev/hda2        100     199     100     20400   83  Linux native/dev/hda3        200    1023     824    168096   83  Linux native/dev/hda4          0       -       0         0    0  Empty/dev/hda5          0+     99     100-    20399   83  Linux nativeNew situation:Units = sectors of 512 bytes, counting from 0   Device Boot    Start       End  #sectors  Id  System/dev/hda1             1     40799     40799   5  Extended/dev/hda2         40800     81599     40800  83  Linux native/dev/hda3             0         -         0   0  Empty/dev/hda4             0         -         0   0  Empty/dev/hda5             2     40799     40798  83  Linux nativeSuccessfully wrote the new partition table% sfdisk -l -V /dev/hdaDisk /dev/hda: 12 heads, 34 sectors, 1024 cylindersUnits = cylinders of 208896 bytes, blocks of 1024 bytes, counting from 0   Device Boot Start     End   #cyls   #blocks   Id  System/dev/hda1          0+     99     100-    20399+   5  Extended/dev/hda2        100     199     100     20400   83  Linux native/dev/hda3          0       -       0         0    0  Empty/dev/hda4          0       -       0         0    0  Empty/dev/hda5          0+     99     100-    20399   83  Linux native/dev/hda: OK-----------------------------------------------------------------------This is a good way of making changes: dump the current statusto file, edit the file, and feed it to sfdisk.Preserving the file on some other disk could be useful:if ever the MBR gets thrashed it can be used to restorethe old situation.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -