磁盘格式化与挂载

如果您目前系統只有一個硬碟,並想加上第二個硬碟時,如果是 Windows 或 DOS,我們都會先做硬碟的切割 (partition),再做格式化 (format)。在 FreeBSD 中,要使用一個新硬碟的動作也類似,必須先切割磁區,再進行格式化。

切割磁區的意思就是指定要讓系統使用多大的硬碟空間,之後我們在將這個空間格式化成 FreeBSD 的檔案系統格式。FreeBSD 大家應該聽過 FAT 檔案系統,它是以前 DOS 時代所使用的檔案系統,後來又發展了 FAT32,以支援大於 2GB 的磁碟分割區。而 Windows NT/2000/XP 預設使用的檔案系統為 NTFS。FreeBSD 4.x 預設使用的檔案系統格式為 UFS (Unix File System),在 5.x 之後,加入了新的檔案系統格式 UFS2。UFS2 和 UFS 最大的差別是 UFS2 支援 1TB 以上的硬碟分割區,除此之外, UFS2 還有一些新的功能,但都是在 UFS 上進行小修改,所以就速度上而言應該差不多。如果您有興趣可以參考這一份 Little UFS2 FAQ (http://sixshooter.v6.thrupoint.net/jeroen/faq.html)。

總而言之,新增一個硬碟的步驟為:

  • 切割出 Slice:就是在硬碟切割出一個磁區供 FreeBSD 使用。
  • 切割 Partition:就是在 Slice 下再切割 Partition。
  • 進行格式化。

我們假設您要加入的是一顆 IDE 硬碟,而希望將這個硬碟掛入 /volume1 這個目錄下。您第一步要做的就是先將硬碟插入電腦後,開機看看 BIOS 有沒有偵測到這個硬碟。我們假設這個硬碟接在第一個排線,是電腦中的第二顆硬碟,則開機後,這個硬碟的代號就是 ad1。請使用 root 登入後,執行指令 dmesg 或是 more /var/run/dmesg.boot,看看 FreeBSD 有沒有偵測新的硬碟 ad1

接下來,您就可以使用指令 sysinstall (如果是 FreeBSD 5.2 以前的版本,請使用 /stand/sysinstall) 來新增硬碟了。

6.4.1 使用 sysinstall

在使用 sysinstall 來設定新的硬碟之前,請先確定您是以 root 身份執行。接下來,您就可以依照下列步驟來新增硬碟:

  1. 進入 sysinstall

    進入 sysinstall 的主選單後,首先請選擇 [Configure],進入後,再選擇 [Fdisk] 項目以進入 Fdisk 選單。第一次進入 Fdisk 時,sysinstall 會要求您選擇所要設定的硬碟,請選擇 ad1。

  2. 使用 Fdisk

    相信您對於 Fdisk 的畫面應該很熟悉,我們在安裝 FreeBSD 時就使用過它。如果您要讓 FreeBSD 使用整個硬碟,請按 [A],接下來請按 [W] 以將設定寫入硬碟。在按了 [W] 後,會出現一個確認的視窗,選 [Yes] 即可。最後會出現要您選擇所要使用的 Boot Manager,因為這一個硬碟不是要用來開機用的,所以我們選 [None]。寫入後,請按 [Q] 離開 Fdisk 的畫面,並回到 Configure 畫面。接著請離開 sysinstall,再重新執行 sysinstall 以讓 sysinstall 重新偵測硬碟設定。

  3. 使用 Disk Label Editor

    重新執行 sysinstall 後,請選擇 [Configure] -> [Label] 以進入 Disk Label Editor。Disk Label Editor 會幫我們在 Slice 下切割 Partition 並格式化硬碟。在 Disk Label Editor 中,我最多可以建八個分割區 (Partition),編號從 a 到 h。不過有的代號有特殊用途。例如,分割區 a 通常會保留給根目錄使用,所以我們開機時所使用的分割區代號會是 a。而代號 b 表示是 swap partition,我們可以在多個硬碟中都有 swap partition。代號 c 是用來表示整個硬碟或是整個 Slice。所以最後 d-h 才是一般我們會使用到的分割區代號。

    我們要讓 FreeBSD 使用整個硬碟,所以必須將整個 Slice 切成一個 Partition。所以一進入 Disk Label Editor 後,請按 [C],在畫面上會顯示整個 Slice 的大小,直接按 Enter 即可建立一個分割區。接下來,我們必須選擇所要掛入本分割區的目錄,請選擇  FS 後,再輸入您所要掛入的目錄,例如 /volume1。如果是在安裝 FreeBSD 時,我們所設定的掛入點會被寫到 /etc/fstab 中,開機後就會自動將磁碟掛入該目錄。但是我們這裡所指定的掛入點並不會被寫入 /etc/fstab 中,最後我們還是必須再設定 /etc/fstab

    最後請按 [W]以進行分割及格式化。完成後,系統會將該才所建立的磁碟掛入您所指定的目錄下。接著請離開 sysinstall 回到命令列。

  4. 設定 /etc/fstab

    為了讓系統在開機時可以自動將此分割區掛入,我們必須再設定 /etc/fstab。請在 /etc/fstab 中增加下列資料:

    # Device          Mountpoint   FStype  Options     Dump    Pass#
    /dev/ad1s1d       /volume1     ufs     rw          2       2

6.4.2 使用命令列

您不一定要使用 sysinstall 來分割及格式化硬碟,sysinstall 只是提供一個比較容易使用的介面,最後還是會呼叫命令列的指令以完成硬碟的設定。使用命令列的方式比較複雜,而且較容易出錯,但卻可以讓您有更靈活的應用。看了如何從命令列新增一個硬碟可以讓您對 sysinstall 所做的事更瞭解。

我們一樣假設要新增的硬碟為 ad1,並且將整個硬碟切成一個磁區給 FreeBSD 使用。第一步要做的就是先使用 dd 這個指令來清除硬碟上舊的設定:

# dd if=/dev/zero of=/dev/ad1 bs=1k count=1

上述指令的意思是從 /dev/zero 這個裝置讀出資料寫到 /dev/ad1 中,每次寫入的 block size (bs) 為 1KB,做一次寫入的動作即可 (count)。我們知道 FreeBSD 各動硬體裝置當做檔案來看待,/dev/zero 這個檔案其實是一個虛擬的檔案,我們從這個檔案讀出來的資料都是 0。上述指令的動作的目的就是要將硬碟 ad1 的開頭 1024KB 清成 0,而硬碟開頭的部份存放的就是一些分割區設定的資料 (Partition Table)。

接下來呢我們就必須使用 fdisk 這個指令來切割 slice 了:

# fdisk -BI ad1
******* Working on device /dev/ad1 *******
fdisk: invalid fdisk partition table found

上述 fdisk 指令表示我們要將 ad1 切割成一個 slice (參數 -I),並清除放開機資訊的第 0 個 sector。您可以忽略「invalid fdisk partition table found」的警告,因為我們一開始並沒有任何分割區。接下來我們就可以使用下列 bsdlabel 指令來建立預設的 partition label,再使用 bsdlabel 加參數 e 以修改建立的 lable:

# bsdlabel -B -w ad1s1 auto
# bsdlabel -e ad1s1

接著會使用您預設的文書編輯軟體跳出一個視窗,請將 a: 改成 d: 後存檔離開,因為我們新增加的分割區不是要給根目錄使用,所以不用代號 a,而是使用第一個不具特別意義的代號 d。

# /dev/ad1s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
 d: 78156146       16    unused        0     0
 c: 78156162        0    unused        0     0 # "raw" part, don't edit
 

將 a: 改成 d: 後,存檔離開即可。接下來我們就可以格式化這一個分割區了。FreeBSD 中用來格式化 UFS 檔案系統的指令為 newfs

# newfs /dev/ad1s1d

以上即為新增一顆硬碟所要做的事。請注意,bsdlabel 這個指令是 FreeBSD 5.1 以後才有的,在 5.1 以前,請使用 disklabel

接下來您就可以將新的硬碟掛入了,假設您要掛入的目錄是 /volume1,則請使用下列指令:

# mkdir /volume1
# mount /dev/ad1s1d /volume1

最後,如果您希望一開機就將此分割區掛入,請修改 /etc/fstab,並加入此分割區的設定。

6.5 使用 USB 磁碟機

現在有很多 USB 裝置:USB 大姆哥、USB 硬碟外接盒、USB 光碟機等。大多數的作業系統都是將 USB 設備看模擬成 SCSI 裝置,FreeBSD 也是一樣。USB 硬碟、大姆哥等都會被當做 SCSI 硬碟,代號會是 da0、da1;而 USB 光碟機則是 cd0。

6.5.1 事前的準備

在開始使用 USB 磁碟機之前,我們必須先確定系統有支援 USB 裝置。在核心 (Kernel) 中,關於 USB 硬碟及光碟機的支援必須要有下列項目:

device	scbus	# SCSI bus (required for SCSI)
device	da	# Direct Access (disks)
device	cd	# 支援 CD-ROM/DVD
device	pass	# Passthrough device (direct SCSI access)
device	uhci	# UHCI PCI->USB interface (支援 USB 1.x)
device	ohci	# OHCI PCI->USB interface (支援 USB 1.x)
device	ehci	# EHCI PCI->USB interface (支援 USB 2.0)
device	usb	# USB Bus (required)
device	umass	# Disks/Mass storage - Requires scbus and da

如果您不使用 USB 光碟機,可以將「device cd」移除。如果您使用的是 GENERIC 核心 (FreeBSD 預設的核心),那麼您的核心已經支援 USB 硬碟了。如果您使用的是 FreeBSD 6.0 以前的版本,您必須再修改修改核心,以支援 USB 2.0。請在核心設定檔中加入下列這一行以使用 USB 2.0:

device	ehci	# EHCI PCI->USB interface (USB 2.0)

不過您必須注意 FreeBSD 4.10 以後才開始支援 USB 2.0 喔。如果沒有加入 USB 2.0 的支援,所有裝置將會以 USB 1.1 速度運作。關於如何編譯核心請參考「編譯核心」一章的說明。

另外,我們必須啟動 usbd 以支援某些 USB 裝置,例如 USB hub 等。FreeBSD 安裝完成後,預設可能有啟動 usbd,如果沒有,請修改 /etc/rc.conf 加入下列設定:

usbd_enable="YES"

重新編譯核心,並修改 /etc/rc.conf 後,您必須重新開機才可以繼續下列動作喔。

重開機後,您就可以將 USB 裝置插入。插入後,您會在 console 看到下列訊息:

umass0: USB Flash Disk, rev 2.00/2.00, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <OTi Flash Disk 2.00> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 125MB (256000 512 byte sectors: 64H 32S/T 125C)

我們可以看到這個裝置的名稱為 da0,我們以下的操作都會以 da0 做為範例。如果您沒有看到上述訊息,表示沒有抓到 USB 裝置,請檢查核心設定後再試一次。

由於 USB 磁碟機會被模擬成 SCSI 裝置,所以您也可以使用 SCSI 工具 camcontrol 來查看目前所有 USB 裝置:

# camcontrol devlist
<OTi Flash Disk 2.00> at scbus1 target 0 lun 0 (da0,pass0)

6.5.2 掛入已格式化的磁碟機

如果您要掛入已從 Windows/DOS 中格式化好的 USB 磁碟機,它的檔案格式有可能是 FAT/FAT32 或是 NTFS。如果您不知道它的檔案格式,可以使用指令 fdisk 查看:

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

parameters to be used for BIOS calculations are:
cylinders=125 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 11 (0x0b),(DOS or Windows 95 with 32 bit FAT)
start 32, size 255968 (124 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 124/ 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>

請注意粗體字的部份,我們可以看到在 da0 中有一個分割區,其檔案系統格式為 FAT32。所以要掛入檔案系統時,分割區代號為 da0s1 (請參考本章最開頭分割區代號的說明)。以下我們的操作都是使用 da0s1

掛入 FAT/FAT32 檔案格式

如果您要掛入的檔案系統為 FAT/FAT32,在 FreeBSD 5.x 以後,請使用指令 mount_msdosfs,若是 FreeBSD 4.x 請使用 mount_msdos

# mount_msdosfs -L zh_TW.Big5 /dev/da0s1 /mnt

我們在 mount_msdosfs 指令中使用參數 -L,並指定 locale 為 zh_TW.Big5 以支援中文檔名。如果沒有加此參數,中文檔名將會是亂碼。

如果您在掛入時出現下列錯誤訊息,表示您需要安裝 libiconv 模組:

# mount_msdosfs -L zh_TW.Big5 /dev/da0s1 /mnt
mount_msdosfs: Unable to load iconv library: Shared object "libiconv.so" 
not found, required by "mo"
: No such file or directory
mount_msdosfs: msdosfs_iconv: No such file or directory

我們可以使用 port 來安裝 libiconv 模組:

# cd /usr/ports/converters/libiconv
# make install

接著您就可以重新執行掛入的指令了。

掛入 NTFS 檔案格式

如果您要掛入的檔案系統格式為 NTFS,則必須使用指令 mount_ntfs

# mount_ntfs -C Big5 /dev/da0s1 /mnt

同樣的,我們使用參數 -C 以支援 NTFS 的中文檔名。不過,NTFS 在 FreeBSD 中只能唯讀而無法寫入,所以您無法在 NTFS 分割區中進入任何寫入的動作。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
格式化挂载Ubuntu磁盘,可以按照以下步骤操作: 1. 首先,确保你知道要格式化挂载磁盘的设备名称,比如sda。 2. 使用命令行工具(如终端)以管理员权限打开终端。 3. 使用fdisk或者parted命令,根据具体情况选择其中一个工具来查看磁盘的分区情况。例如,使用命令“sudo fdisk -l”来列出所有磁盘和分区信息。 4. 找到需要格式化的分区,比如sda1。使用命令“sudo mkfs.ext4 /dev/sda1”来将该分区格式化为ext4文件系统。确保将/dev/sda1替换为正确的分区设备名称。 5. 接下来,需要编辑/etc/fstab文件以自动挂载该分区。使用命令“sudo vim /etc/fstab”(或者你习惯的文本编辑器)打开fstab文件。 6. 在fstab文件中添加一行,指定要挂载的分区的设备名称、挂载点和文件系统类型。例如,“/dev/sda1 /mnt/mydisk ext4 defaults 0 0”,其中/mnt/mydisk是你选择的挂载点。 7. 保存并关闭fstab文件。 8. 最后,通过运行命令“sudo mount -a”来重新加载fstab文件并挂载新的分区。 现在,你的Ubuntu磁盘已经格式化并成功挂载到指定的挂载点上了。请注意,这里的步骤仅供参考,具体的操作可能因个人环境和需求而有所不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [ubuntu格式化磁盘挂载](https://blog.csdn.net/weixin_43301333/article/details/123144073)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Ubuntu硬盘的分区、格式化挂载](https://blog.csdn.net/m0_37570531/article/details/118364981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值