This page is READ-ONLY. It is generated from the old site.
All timestamps are relative to 2013 (when this page is generated).
If you are looking for TeX support, please go to VietTUG.org

freebsd: disk, partition, labels

Added by anhhk over 3 years ago  »  Votes: 2/2

Theo nhiều người biết thì mỗi ổ đĩa cứng có thể chia ra các partition (phân vùng). Mỗi đĩa có tối đa 4 phân vùng primary, còn lại là dạng extended (secondary).

Trong (Free)BSD, partition đó được gọi là slice. Các slide được đánh số 1,2,3,4 (một trong số chúng có thể được đánh dấu active, bootable).

Trong mỗi slice có tối đa 8 phân vùng (partition) (khác với định nghĩa trong DOS), được đánh thứ tự bằng các chữ cái từ a đến h (trong OpenBSD thì có thể có đến 16 phân vùng, từ a đến p).

Để tạo hay điều chỉnh slice, dùng fdisk. Để thay đổi phân vùng trong từng slice, dùng bsdlabel (hoặc disklabel -- chàng sau này đã được thay thế trên FreeBSD các dòng mới).

Dưới đây là các lệnh để chỉnh cho một USB disk. USB này nhận trong hệ thống với tên /dev/da2. Vì một lỗi phân vùng trước đây mà nó không có slice nào, mà toàn bộ đĩa là slice duy nhất: nghĩa là, có thể trực tiếp thực hiện mount -tmsdosfs /dev/da2 /mnt/usb trong khi cách thông thường là mount một partition /dev/da2s1a.

$ fdisk -i /dev/da2

# Khác với fdisk trên OpenBSD cung cấp các lệnh như ở Linux,
# ở đây sẽ xuất hiện các câu hỏi và bạn sẽ trả lời trực tiếp
# Cách đơn giản là tạo slice 1 chiếm toàn bộ đĩa. Sau khi ghi vào đĩa:

$ fdisk /dev/da2

******* Working on device /dev/da2 *******
parameters extracted from in-core disklabel are:
cylinders=984 heads=64 sectors/track=32 (2048 blks/cyl)

parameters to be used for BIOS calculations are:
cylinders=984 heads=64 sectors/track=32 (2048 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 32, size 2015200 (983 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 983/ head 63/ sector 32
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

Bây giờ, ta có slice đầu tiên và duy nhất /dev/da2s1. Ta sử dụng bsdlabel để tạo ra hai phân vùng cho slide này:

# In ra tình trạng label hiện tại
$ bsdlabel /dev/da2s1 > da2s1_labels

Sau khi thu được tập tin da2s1_labels thì soạn lại như sau. Các dấu sao (*) sẽ yêu cầu bsdlabel tự tính toán. Phân vùng c là bắt buộc, chứa thông về cả slide. Nội dung label mới như sau:

# /dev/da2s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a:  1015184  2015200
  b:        *        *
  c:        *        *

Bây giờ, khôi phục lại các label từ tập tin đã thu được:

$ bsdlabel -R /dev/da2s1 ./da2s1_labels

Để tạo filesystem thì dùng newfs hoặc newfs_msdos:

$ newfs /dev/da2s1a
$ newfs /dev/da2s1b
$ fsck_ufs -yf /dev/da2s1a   # không có lỗi
$ fsck_msdosfs -vf /dev/da2s1b # có thể có một số lỗi

Xong!

Cập nhật: Phân hoạch mới cho /dev/da2 -- usb của tui :)

$ fdisk /dev/da2

******* Working on device /dev/da2 *******
parameters extracted from in-core disklabel are:
cylinders=984 heads=64 sectors/track=32 (2048 blks/cyl)

parameters to be used for BIOS calculations are:
cylinders=984 heads=64 sectors/track=32 (2048 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 32, size 1000000 (488 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 488/ head 18/ sector 32
The data for partition 2 is:
sysid 11 (0x0b),(DOS or Windows 95 with 32 bit FAT)
    start 1000064, size 1015168 (495 Meg), flag 0
        beg: cyl 488/ head 20/ sector 1;
        end: cyl 983/ head 63/ sector 32
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

Comments