如何格式化硬碟

作者:Andrew Choi (蔡健發)

Since : 10 May 2001

Last Update : 11 Jan 2006


聲明:任何形式的摘抄必須保留上述作者和http地址

建義你先看 IDE 和 SCSI 分配名稱

以下例子是格式化 Primary IDE Master 硬碟

觀看 IDE 和 SCSI 分配名稱 後,我們知道 Primary IDE Master 硬碟名稱是c0d0

請先行 Login 成為 root user

# drvconfig ( configure the /devices directory )
# disks ( creates /dev entries for hard disks attached to the system )

以下工作是已 c0d0 為我的目標 Harddisk (c0d0 為 Primary IDE Master祥情請看 IDE 和 SCSI 分配名稱)

# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
0. c0d0 <drive type unknown> (如果你看見<drive type unknown> ,請跳去看備注一。)
/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0
1. c1t6d0 <DEFAULT cyl 14959 alt 2 hd 6 sec 399>
/pci@0,0/pci9004,8178@f/sd@6,0
Specify disk (enter its number): 0 ( 因為 Primary IDE Master 硬碟名稱是c0d0,所以選擇 0 )

AVAILABLE DRIVE TYPES:
0. other
Specify disk type (enter its number):0
( 正常應該是 0. DEFAULT 1. other,通常應該選擇DEFAULT,但是Solaris不明白我的硬碟是什麼,所以只有other可供選擇。)

如果是選擇DEFAULT,藍色字的內容可以不理。

我的IDE HardDisk架構如下:-
( 可以從BIOS Auto Detect查出來,通常都有LBA,LARGE,AUTO三種選擇,建議你使用Auto,因為不能大過16Heads和不能大過63Sectoes )

Cylinders = 25232
Heads = 16
Sectors = 63

Enter number of data cylinders:25232
Enter number of alternate cylinders[2]:
Enter number of physical cylinders[25234]:
Enter number of heads: 16
Enter number of data sectors/track: 63
Enter rpm of drive[3600]:
Enter format time[default]:
Enter cylinder skew[default]:
Enter track skew[default]:
Enter tracks per zone[default]:
Enter alternate tracks[default]:
Enter alternate sectors[default]:
Enter cache control[default]:
Enter prefetch threshold[default]:
Enter minimum prefetch[default]:
Enter maximum prefetch[default]:
Enter disk type name (remember quotes): cyl 25232 alt 2 hd 16 sec 63

 

備注一:
如果你沒法查到 Cylinders、Heads和Sectors的資料,又或者看到<drive type unknown> 的時候,
你可以用以下的方法來解決。

# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
0. c0d0 <drive type unknown> (<drive type unknown>,就是無法找到 HDD的架構資料)
/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0
1. c1t6d0 <DEFAULT cyl 14959 alt 2 hd 6 sec 399>
/pci@0,0/pci9004,8178@f/sd@6,0
Specify disk (enter its number):
(在這裡按 CTRL + D離開)

在第0項,我們看到 [drive type unknown]。這代表Solaris x86 無法找到 IDE HardDisk的架構資料。

所以我們先按 Ctrl+D 離開。然後,用以下的方法來處理。

# fdisk /dev/rdsk/c0d0p0 (從第0項,我們知道這 IDE HDD 在 Solaris 的硬件名稱為 c0d0,並且在後面加 p0,變成 c0d0p0,然後給 fdisk 一個正確的 path /dev/rdsk/c0d0p0)

No fdisk table exists. The default partition for the disk is:

? a 100% "SOLARIS System" partition

Type "y" to accept the default partition, otherwise type "n" to edit the partition table.

y (答 y 的話,那就 100% Solaris System partition)

# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
0. c0d0 <DEFAULT cyl
25232 alt 2 hd 16 sec 63> (現在看到架構資料了)
/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0
1. c1t6d0 <DEFAULT cyl 14959 alt 2 hd 6 sec 399>
/pci@0,0/pci9004,8178@f/sd@6,0
Specify disk (enter its number): 0

selecting c0d0
Controller working list found
[disk formatted, defect list found]


FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
fdisk - run the fdisk program
repair - repair a defective sector
show - translate a disk address
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
save - save new disk/partition definitions
volname - set 8-character volume name
!<cmd> - execute <cmd>, then return
quit

如果你做過備注一說明的工作,這一斷文章可以跳過。

format>fdisk

No fdisk table exists. The default partition for the disk is:

a 100% "SOLARIS System" partition

Type "y" to accept the default partition, otherwise type "n" to edit the
partition table.
y

WARNING: Solaris fdisk partition changed - Please relabel the disk
format>fdisk

Total disk size is 25232 cylinders
Cylinder size is 1008 (512 byte) blocks

Cylinders
Partition Status Type
Start End Length %
========= ====== ============ ===== === ====== ===


WARNING: no partitions are defined!

SELECT ONE OF THE FOLLOWING:

1. Create a partition
2. Specify the active partition
3. Delete a partition
4. Exit (update disk configuration and exit)
5. Cancel (exit without updating disk configuration)
Enter Selection: 1


Select the partition type to create:
1=SOLARIS 2=UNIX 3=PCIXOS 4=Other
5=DOS12 6=DOS16 7=DOSEXT 8=DOSBIG
9=DOS16LBA A=x86 Boot B=Diagnostic C=FAT32
D=FAT32LBA E=DOSEXTLBA 0=Exit? 1  

Specify the percentage of disk to use for this partition
(or type "c" to specify the size in cylinders). 100

Should this become the active partition? If yes, it will be activated
each time the computer is reset or turned on.
Please type "y" or "n". n

Total disk size is 25232 cylinders
Cylinder size is 1008 (512 byte) blocks

Cylinders
Partition Status Type
StartEnd Length %
========= ====== ============ =====
=== ====== ===
1Solaris1 2523125231 100


WARNING: no partitions are defined!

SELECT ONE OF THE FOLLOWING:

1. Create a partition
2. Specify the active partition
3. Delete a partition
4. Exit (update disk configuration and exit)
5. Cancel (exit without updating disk configuration)
Enter Selection: 4

WARNING: Solaris fdisk partition changed - Please relabel the disk

format> partition


PARTITION MENU:
0 - change `0' partition
1 - change `1' partition
2 - change `2' partition
3 - change `3' partition
4 - change `4' partition
5 - change `5' partition
6 - change `6' partition
7 - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name - name the current table
print - display the current table
label - write partition map and label to the disk
!<cmd> - execute <cmd>, then return
quit
partition> print
Current partition table (cyl):
Total disk cylinders available: 25229 + 2 (reserved cylinders)

Part
Tag
Flag
Cylinders
Size
Blocks
0
root
wm
0
0
(0/0/0)
0
1
swap
wu
0
0
(0/0/0)
0
2
backup
wu
0 - 25228
12.13GB
(25229/0/0)
25430832
3
unassigned
wm
0
0
(0/0/0)
0
4
unassigned
wm
0
0
(0/0/0)
0
5
unassigned
wm
0
0
(0/0/0)
0
6
usr
wm
0
0
(0/0/0)
0
7
unassigned
wm
0
0
(0/0/0)
0
8
boot
wu
0 - 0
0.49MB
(1/0/0)
1008
9
alternates
wm
1 - 2
0.98MB
(2/0/0)
 

partition> 0 ( Part 2, 8, 9 是不需要進行任何修改)

Part
Tag
Flag
Cylinders
Size
Blocks
0
root
wm
0
0
(0/0/0)
0

Enter partition id tag[root]:
( 只可使用 unassigned, boot, root, swap, usr, backup, stand, var, home, alternates )

Enter partition permission flags[wm]:
( wm - read-write, mountable,wu - read-write, unmountable,rm - read-only, mountable,ru - read-only, unmountable )

Enter new starting cyl[0]: 3 ( 從 Part 8 - 9 可以看到Cylinders 0 - 2 已經給系統使用,所以要由 3 開始 )
Enter partition size[0b, 0c, 0.00mb, 0.00gb]: ?

Expecting up to 25427808 blocks, 25226 cylinders, 12415.92 megabytes, or 12.12 gigabytes
Enter partition size[0b, 0c, 0.00mb, 0.00gb]: 25427808b
partition> print
Current partition table (cyl):
Total disk cylinders available: 25229 + 2 (reserved cylinders)

Part
Tag
Flag
Cylinders
Size
Blocks
0
root
wm
3 - 25228
12.13GB
(25226/0/0)
25427808
1
swap
wu
0
0
(0/0/0)
0
2
backup
wu
0 - 25228
12.13GB
(25229/0/0)
25430832
3
unassigned
wm
0
0
(0/0/0)
0
4
unassigned
wm
0
0
(0/0/0)
0
5
unassigned
wm
0
0
(0/0/0)
0
6
usr
wm
0
0
(0/0/0)
0
7
unassigned
wm
0
0
(0/0/0)
0
8
boot
wu
0 - 0
0.49MB
(1/0/0)
1008
9
alternates
wm
1 - 2
0.98MB
(2/0/0)
 

partition> label
Ready to label disk, continue? y

partition> quit
format> label ( 為了保險所以輸入多一次label )
Ready to label disk, continue? y
format> quit
# newfs /dev/rdsk/c0d0s0 ( c0d0 是硬碟的名稱,可參考
IDE 和 SCSI 分配名稱。s0 是 Part 0
newfs: construct a new file system /dev/rdsk/c0d0s0: (y/n)? y
/dev/rdsk/c0d0s0: 25427808 sectors in 25226 cylinders of 16 tracks, 63 sectors
12415.9MB in 287 cyl groups (88 c/g, 43.31MB/g, 5504 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 88800, 177568, 266336, 355104, 443872, 532640, 621408, 710176, 798944,
887712, 976480, 1065248, 1154016, 1242784, 1331552, 1419296, 1508064, 1596832,
1685600, 1774368, 1863136, 1951904, 2040672, 2129440, 2218208, 2306976,
2395744, 2484512, 2573280, 2662048, 2750816, 2838560, 2927328, 3016096,
3104864, 3193632, 3282400, 3371168, 3459936, 3548704, 3637472, 3726240,
3815008, 3903776, 3992544, 4081312, 4170080, 4257824, 4346592, 4435360,
4524128, 4612896, 4701664, 4790432, 4879200, 4967968, 5056736, 5145504,
5234272, 5323040, 5411808, 5500576, 5589344, 5677088, 5765856, 5854624,
5943392, 6032160, 6120928, 6209696, 6298464, 6387232, 6476000, 6564768,
6653536, 6742304, 6831072, 6919840, 7008608, 7096352, 7185120, 7273888,
7362656, 7451424, 7540192, 7628960, 7717728, 7806496, 7895264, 7984032,
8072800, 8161568, 8250336, 8339104, 8427872, 8515616, 8604384, 8693152,
8781920, 8870688, 8959456, 9048224, 9136992, 9225760, 9314528, 9403296,
9492064, 9580832, 9669600, 9758368, 9847136, 9934880, 10023648, 10112416,
10201184, 10289952, 10378720, 10467488, 10556256, 10645024, 10733792,
10822560, 10911328, 11000096, 11088864, 11177632, 11266400, 11354144,
11442912, 11531680, 11620448, 11709216, 11797984, 11886752, 11975520,
12064288, 12153056, 12241824, 12330592, 12419360, 12508128, 12596896,
12685664, 12773408, 12862176, 12950944, 13039712, 13128480, 13217248,
13306016, 13394784, 13483552, 13572320, 13661088, 13749856, 13838624,
13927392, 14016160, 14104928, 14192672, 14281440, 14370208, 14458976,
14547744, 14636512, 14725280, 14814048, 14902816, 14991584, 15080352,
15169120, 15257888, 15346656, 15435424, 15524192, 15611936, 15700704,
15789472, 15878240, 15967008, 16055776, 16144544, 16233312, 16322080,
16410848, 16499616, 16588384, 16677152, 16765920, 16854688, 16943456,
17031200, 17119968, 17208736, 17297504, 17386272, 17475040, 17563808,
17652576, 17741344, 17830112, 17918880, 18007648, 18096416, 18185184,
18273952, 18362720, 18450464, 18539232, 18628000, 18716768, 18805536,
18894304, 18983072, 19071840, 19160608, 19249376, 19338144, 19426912,
19515680, 19604448, 19693216, 19781984, 19869728, 19958496, 20047264,
20136032, 20224800, 20313568, 20402336, 20491104, 20579872, 20668640,
20757408, 20846176, 20934944, 21023712, 21112480, 21201248, 21288992,
21377760, 21466528, 21555296, 21644064, 21732832, 21821600, 21910368,
21999136, 22087904, 22176672, 22265440, 22354208, 22442976, 22531744,
22620512, 22708256, 22797024, 22885792, 22974560, 23063328, 23152096,
23240864, 23329632, 23418400, 23507168, 23595936, 23684704, 23773472,
23862240, 23951008, 24039776, 24127520, 24216288, 24305056, 24393824,
24482592, 24571360, 24660128, 24748896, 24837664, 24926432,25015200,
25103968, 25192736, 25281504, 25370272,

現在打算把 /dev/rdsk/c0d0s0 mount 在 /mnt/newhd
# cd /mnt
# mkdir newhd

在 /etc/vfstab Auto mount 的設定

device to mount = /dev/dsk/c0d0s0
device to fsck = /dev/rdsk/c0d0s0
mount point = /mnt/newhd
FS type = ufs
fsck pass = 1
mount at boot = yes
mount options = -

# pico vfstab or vi vfstab
加入 /dev/dsk/c0d0s0/dev/rdsk/c0d0s0/mnt/newhdufs1yes-

# mount /mnt/newhd

完成 !



E-mail : andrew@tophk.net