如何使用一块新加的SCSI硬盘
【服务器学院】下面是一个简便的方法: 这不是正统的方法, 但是却是教一般人最容易的了.... 下面将介绍如何以传统的方法来新增一颗硬盘 (或一个 partition) 或修改已经存在的 partition 或 label。 当然传统的方法不一定好用,但是你应该要知道。 0. 分割硬盘不管在什么操作系统下都是相当危险的,除非你已经驾轻就熟了,不然最好先用一颗空的硬盘来练习,以免毁掉重要资料。还有,请准备一台计算机以便计算各种资料。 1. 首先请先阅读“硬碟分割政策”以了解 FreeBSD 新的 slice 观念。这个新的 slice 观念于 1995 年四月开始启用,跟传统的 BSD (如 386BSD, NetBSD, SunOS) 有很大的不同,允许多个 BSD partition 存在。 2. 不管你是要新增 IDE 或 SCSI 硬碟,或是只是要新增一个 partition,这些观念都是一样的,首先你要知道你想新增的硬碟的 device 名称,例如 : IDE 第二颗硬碟的第 3 个 primary partition -> wd1s3 3. 首先把硬碟挂上去,你可以用 DOS 的 pfdisk.exe 来分割新的 partition,或是以 DOS 的 fdisk.exe 割一个 primary partition,再用 pfdisk.exe 把 partition ID 改成 165 (十进位)。 完毕後跳看 Step-4。 * 如果你想用 FreeBSD 的 fdisk,在进入 FreeBSD 後先以 Step-4 的方法建立 /dev/sd0s2*,再执行 fdisk sd0 观察 sd0 的硬碟分割状况,如下范例∶(这是 1G 的 SCSI Fireball,已经割了一个 primary FreeBSD partition) ******* Working on device /dev/rsd0 ******* Figures below won''t work with BIOS for partitions not in cyl 1 Warning: BIOS sector numbering starts with sector 1 The data for partition 3 is: 再来就要开始分割了,键入 fdisk -i sd0,首先它会问你硬碟的参数,如∶ ******* Working on device /dev/rsd0 ******* Figures below won''t work with BIOS for partitions not in cyl 1 Do you want to change our idea of what BIOS thinks ? [n] 如果有错误 (注意∶你必须非常 解各种 translation 的数据),不然不需要修改,直接回答 n 或按 Enter 跳过。 (在本范例中,这颗 Fireball 没有经过 SCSI Translate,所以数据为 cyl=1042, heads=64, sec/track=32) 再来它会依次问你 primary 1,2,3,4 的分割状况,根据你的情形回答,不改变的回答 n,要改变的回答y。比方说,第二个 primary partition (在 FreeBSD 中为 partition 1, 由零开始) 是空的,你想建立成 FreeBSD partition,你应该会看到∶ The data for partition 1 is: Do you want to change it? [n] 这时候回答 y,再来它会问你∶ Supply a decimal value for "sysid" [0] 请回答 165,这是 UFS 的 partition ID。 接下来是此 partition 的开始位址∶ Supply a decimal value for "start" [0] 由於此范例中新增的 partition 是从第 300MB 开始,大小为742MB, 因此 start 应为 300*2048 = 614400。 你要是不会算的话,把前面已经存在的 partition 资料加起来,如∶ 要是你是从该硬碟的最前面开始,start 请回答 "32" !! 注意∶不是 0 !! 因为要预留一些空间给 MBR 之类的。 再来它会问你该 partition 的大小,如∶ Supply a decimal value for "size" [0] 请回答 MB*2048,如此范例为 742*2048 = 1519616。 Explicitly specifiy beg/end address ? [n] 这除了超人以外,是没有必要去名确定义的。就回答 n 就好了。 sysid 165,(FreeBSD/NetBSD/386BSD) 如果你确定无误後,回答 y 继续。 Do you want to change the active partition? [n] 如果不是开机用的 partition 就不要更动了。 Should we write new partition table? [n] 确定的话,复颂一遍大榔头的名言∶ "Trust me, I know what I am doing !" 再回答 y。 4. 建立新的 device nodes ∶ 5. 构思好你的 slice 分割情形,例如 sd0s1 是 300MB 大小,你想要把一开始的 30MB 割给 /tmp,把再来的 64MB 割给 swap, 在把最後的 206MB 给 /home。 当然在分割的时候你只要分两种情形,是FileSystem 或是 Swap, 要 mount 到那里是 /etc/fstab 中定义的。 6. 建立一个空的 disklabel 7. 执行 disklabel -e sd0s1 你应该会看到∶ # /dev/rsd0s1c: 8 partitions: 其中你只需要修改最後那些 label 的资料就好了,其他的资料是为了跟旧的 BSD label 相容而遗留的。除非你有特殊需要 (如改变 disk geometry) ,不然不要去更动。 由於这是新增的 slice,其中只有 c: 一个分割区,此 c: 代表整个 slice 的大小 (300MB)。 所以在这个 300MB 的 slice,我们想把 b: 割 64MB 给 swap,把 e: 割30MB 给 /tmp,把 f: 割 206MB 给 /home。 在你的编辑器中键入∶ 8 partitions: 其中最前面为 e:(30MB),再来是 b:(64MB),最後是 f:(206MB)。所以∶ ftype 如果是 swap 请键入 swap,如果是一般的 FS,请键入 4.2BSD。 在算这些资料的时候,要注意不要有区块彼此覆盖到的情形,不然就只有等著 crash and lost data 了。 然後用 disklabel -r sd0s1 看看新建的 label,如下∶ 8 partitions: 现在多出最右边 (# Cyl) 的资料,你可以看看有没有覆盖到的地方。 8. 一切 OK 後,恭禧您,大风大浪已经过了,最後只剩两个步骤。 9. 执行 fsck -y /dev/rsd0s1e; fsck -y /dev/rsd0s1f 检查看看有没有错误。 A. 执行 mount /dev/sd0s1e /mnt; ls -la /mnt 看看能不能用。 B. 最後把新增的 /dev/sd0s1b /dev/sd0s1e /dev/sd0s1f 加入 /etc/fstab, mkdir 新的 mount point,执行 mount -a -t ufs 或是 reboot,一切就大功告成了。 综合使用这个传统方法和前面的快捷方法,相信分割硬盘不是很难的一件事。 (编辑:ASP站长网) |