如何使用一块新加的SCSI硬盘?(2)
2008-02-23 08:03:30来源:互联网 阅读 ()
Should we write new partition table? [n]
确定的话,复颂一遍大榔头的名言∶ "Trust me, I know what I am doing !" 再回答 y。
後悔的话回答 n 或按 Ctrl-C 都可以,你的 partition table 就不会被更动。
4. 建立新的 device nodes ∶
cd /dev
./MAKEDEV sd0
./MAKEDEV sd0s1a
这样会在 /dev 下建立出 sd0s1a, sd0s1b, sd0s1c, ... ,sd0s1h
5. 构思好你的 slice 分割情形,例如 sd0s1 是 300MB 大小,你想要把一开始的 30MB 割给 /tmp,把再来的 64MB 割给 swap, 在把最後的 206MB 给 /home。 当然在分割的时候你只要分两种情形,是FileSystem 或是 Swap, 要 mount 到那里是 /etc/fstab 中定义的。
6. 建立一个空的 disklabel
$ disklabel -r -w sd0s1 auto
7. 执行 disklabel -e sd0s1 你应该会看到∶
# /dev/rsd0s1c:
type: SCSI
disk: sd0s1
label:
flags:
bytes/sector: 512
sectors/track: 32
tracks/cylinder: 64
sectors/cylinder: 2048
cylinders: 299
sectors/unit: 614368
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 614368 0 unused 0 0 # (Cyl. 0 - 299*)
其中你只需要修改最後那些 label 的资料就好了,其他的资料是为了跟旧的 BSD label 相容而遗留的。除非你有特殊需要 (如改变 disk geometry) ,不然不要去更动。
由於这是新增的 slice,其中只有 c: 一个分割区,此 c: 代表整个 slice 的大小 (300MB)。
如果你先读过 Step-1 的资料,你应该知道 a: 通常是给 root 区用的, b: 通常是给 swap 用的,c: 强制代表该 slice 的大小,d:原先代表整颗硬碟的大小,不过新的 slice 已经把 d: 废除了,e: - h: 是随便你的。 其实从 a: - h: 只有 c: 是强制性的,其他随便你要拿来做 FS 或是 swap。 不过为了维护传统,一般还是喜欢把 a: 留给 root partition,把 b: 留给 swap,其他的 FS 由 e: 开始到 h:。
所以在这个 300MB 的 slice,我们想把 b: 割 64MB 给 swap,把 e: 割30MB 给 /tmp,把 f: 割 206MB 给 /home。 在你的编辑器中键入∶
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
b: 131072 61440 swap <<-- 新增
c: 614368 0 unused 0 0
e: 61440 0 4.2BSD 0 0 0 <<-- 新增
f: 421856 192512 4.2BSD 0 0 0 <<-- 新增
其中最前面为 e:(30MB),再来是 b:(64MB),最後是 f:(206MB)。所以∶
e: 的 offset (就是 start offset) 是 0 (由该 slice 的头开始),
e: 的 size 是 30MB*2048=61440。 (e: 实际上位於 0 - 614399)
b: 的 offset 是 61440 (e: 的 offset size),size 是 64MB*2048=131072
b: 实际上位於 61440 - 192511
f: 的 offset 是 192512 (b: 的 offset size),要注意的是,为了 slice alignment 的关系,c: 不见得是 (整个 slice 的大小 * 2048),所以在 slice 中最後一个区块大小通常不会是 (预定的大小 * 2048)。
因此最後一个区块的大小要用 (c: 的 size - 最後一个区块的 offset) !!
在此范例中是 614368-192512=421856。
ftype 如果是 swap 请键入 swap,如果是一般的 FS,请键入 4.2BSD。
在算这些资料的时候,要注意不要有区块彼此覆盖到的情形,不然就只有等著 crash and lost data 了。
完成後用你编辑器的 save 功能存档,要是有显而易见的错误,disklabel 要你再修改。
然後用 disklabel -r sd0s1 看看新建的 label,如下∶
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
b: 131072 61440 swap # (Cyl. 30 - 93)
c: 614368 0 unused 0 0 # (Cyl. 0 - 299*)
e: 61440 0 4.2BSD 0 0 0 # (Cyl. 0 - 29)
f: 421856 192512 4.2BSD 0 0 0 # (Cyl. 94 - 299*)
现在多出最右边 (# Cyl) 的资料,你可以看看有没有覆盖到的地方。
8. 一切 OK 後,恭禧您,大风大浪已经过了,最後只剩两个步骤。
# newfs /dev/rsd1s1e
# newfs /dev/rsd1s1f
swap 不需要格式化, 在 newfs 的时候你可以加入参数,来达到特殊需求。
如 -m 0 设定预留的空间为 0,不然内定 7% 的大小预留给 root 及避免 fragmentation 使用。
如 -i 1024 设定每 1024 bytes 给一个 inode (内定 2048),通常 BBS 跟 News Server 须要较多的 inodes。
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,一切就大功告成了。
综合使用这个传统方法和前面的快捷方法,相信分割硬盘不是很难的一件事。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:在FreeBSD中添加用户
下一篇:FreeBSD 简介
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
