歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

fc3HAL掛載vfat分區的方法(手動+自動)

  掛載 vfat 分區的方法 (手動+自動)聲明本文遵循 GNU FDL,僅正文部分可自由修改,重發布時正文之外的部分必須同時原樣發布。作者對誤讀的後果表示不負責。正文開始如果不希望自動掛載優盤,或者要掛載的是 vfat 格式的硬盤分區,那麼應當像下面這樣手動進行操作。大概的步驟有幾個,首先必須知道自己的語言環境是什麼。其次必須知道要掛載的是什麼分區。最後,要確定自己要掛載到什麼位置。掛載硬盤分區的時候,和優盤是幾乎一樣的。要想知道自己的語言環境,可以告訴別人自己使用的是什麼發行版,有沒有使用美化包,有沒有修改過 /etc/sysconfig/i18n,這樣別人可以猜到你用的究竟是什麼。不過這樣做實在麻煩了大家也麻煩了自己。最好的辦法,還是運行 locale 命令,然後看看結果首先,運行 locale 代碼:

[yuan@jackycom ~]$ locale LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL=如果結果和我的一樣都是 UTF-8,也就是 fc3 的默認值,那麼掛載時需要加上 utf8 參數,就像這樣 (假設我們是將優盤 /dev/sda1 掛載到 /media/usbdisk) 代碼:

mkdir /media/usbdisk mount -o utf8,umask=0,dmask=0,fmask=111,users /dev/sda1 /media/usbdisk但是如果結果不是 zh_CN.UTF-8 而是 zh_CN.GB18030,或者 zh_CN.GB2312 的話,那麼掛載時需要使用 iocharset=cp936 參數,這樣看到的文件名才不是亂碼。就像這樣 (仍然是將優盤 /dev/sda1 掛載到 /media/usbdisk) 代碼:

mkdir /media/usbdisk mount -o iocharset=cp936,umask=0,dmask=0,fmask=111,users /dev/sda1 /media/usbdisk第二步,應當清楚要掛載什麼分區。通常,優盤是只有一個分區的。上面提到的 /dev/sda1 通常是第一塊優盤的第一個分區 (第一個分區也可能是 /dev/sda);而第二個分區可能是 /dev/sda2,或者 /dev/sda5。硬盤與優盤不同,通常有多個分區。遇到有多個分區時,優盤與硬盤同樣麻煩,必須運行 fdisk 可以看到要掛載的分區的情況。下面是我的硬盤的分區情況 代碼:

[root@jackycom ~]# fdisk -l /dev/hda


Disk /dev/hda: 40.0 GB, 40020664320 bytes 255 heads, 63 sectors/track, 4865 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 255 2048256 83 Linux /dev/hda2 256 4865 37029825 5 Extended /dev/hda5 256 893 5124703+ 83 Linux /dev/hda6 894 1148 2048256 83 Linux /dev/hda7 1149 1403 2048256 c Windows 95 fat 32 (LBA) /dev/hda8 1404 1658 2048256 83 Linux /dev/hda9 1659 2388 5863693+ 83 Linux /dev/hda10 2389 3118 5863693+ 83 Linux /dev/hda11 3119 4832 13767673+ 83 Linux /dev/hda12 4833 4865 265041 82 Linux swap / Solaris假如輸出是上面那樣,我們要將 vfat 分區 /dev/hda7 掛載到 /mnt/D 目錄,我們可以這樣做 代碼:

mkdir -p /mnt/D mount -o utf8,umask=0,dmask=0,fmask=111,users /dev/hda7 /mnt/D 或者用這一句,仍然取決於 locale 命令的執行結果! mount -o iocharset=cp936,umask=0,dmask=0,fmask=111,users /dev/hda7 /mnt/D最後,我們可以考慮是不是將這條命令寫到配置文件裡,這樣開機時就會自動掛載這個分區了配置文件是 /etc/fstab。運行這樣的命令 代碼:

[root@jackycom ~]# cat /etc/fstab # This file is edited by fstab-sync - see 'man fstab-sync' for details /dev/hda1 / ext3 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 none /proc/bus/usb usbfs defaults 0 0 none /tmp tmpfs defaults 0 0 none /media tmpfs defaults 0 0

/dev/hda5 /usr ext3 defaults 1 2 /dev/hda6 /usr/local ext3 defaults 1 2 /dev/hda8 /home ext3 defaults 1 2 /dev/hda9 /usr/share ext3 defaults 1 2 /dev/hda10 /var/FTP/incoming auto defaults,noauto,users 0 2 /dev/hda12 swap swap defaults 0 0 none /var/lib/jack/tmp tmpfs defaults 0 0 /dev/hdc /media/cdrom auto pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0會輸出很多內容。以行為單位,每行保存了一個分區的配置。我們要掛載分區,只要照貓畫虎就可以了,把這樣的一行添加到 /etc/fstab 配置文件中: 代碼:

/dev/hda7 /mnt/D auto defaults,rw,users,utf8,umask=0,dmask=0,fmask=111 0 0 是不是應該使用這樣的一行,而不是上面那個呢?仍然取決於 locale 命令的執行結果! /dev/hda7 /mnt/D auto defaults,rw,users,iocharset=cp936,umask=0,dmask=0,fmask=111 0 0如何測試效果請先試驗一下配置文件是不是寫對了,再重啟系統!怎麼檢查新添加的配置是不是正確呢?只要先把 /mnt/D 卸載,查看一下當前掛載了哪些分區;再加載一次,再次查看當前掛載了哪些分區。具體執行的命令如下: 代碼:

umount /mnt/D mount再運行 代碼:

mount -a mount看看中間有沒有什麼出錯的提示消息就可以了。如果配置文件正確的話,第二次執行不帶參數的 mount 命令時,會顯示出 /dev/hda7 已經掛載到了 /mnt/D。這時候就可以放心地重啟了可能的問題1. 如果你運行 locale 時,輸出的東西是亂七八糟的 (混合的,尤其是同時使用多種編碼值或者不指定編碼時),那麼還是先考慮一下將 locale 也就是語言環境變量的值調節為一致的之後,再進行其他操作吧。很多人喜歡在英文 locale 中工作,但是又要使用中文輸入法。在 fc3 中不必對 locale 做任何設置就可以辦到,只要將 scim 的配置文件 /etc/X11/xinit/xinput.d/scim 鏈接到 $HOME/.xinput.d/en_US 就可以默認在英文環境中啟動輸入法了。但是在 rh9 等早些的系統中,那時的 UTF-8 支持還沒有現在這麼好,一般會在 $HOME/.i18n 中設置 LC_CTYPE=zh_CN.GB18030,這時 mount 也需要 iocharset=cp936 才可以工作。2. 如果運行 fdisk /dev/sda 時,輸出的東西是亂七八糟的,那麼可能這塊優盤的分區方式是與其他優盤不一樣的方式,大約是軟驅方式 (?),優盤內部不再分區。很多播放器或支持啟動功能的優盤都使用這種分區方式。那麼掛載時,應當用 /dev/hda 而不是 /dev/hda1

代碼:

mount /dev/hda /media/usbdisk -o utf83. 注意只能由 root 來運行 fdisk 命令。4. /dev/hda 是說第一塊硬盤 harddisk a,一般的機器都只有一塊硬盤。/dev/sda 是說第一塊優盤。第二塊硬盤是 /dev/hdb, 優盤是 /dev/sdb,當然這只是說 IDE 硬盤和普通的優盤。如果是串行硬盤或者 SCSI,應該使用不同的設備文件。如果是 LVM 或者 raid,是不是還有別的設備呢?命令的可重復性mount -a 和 umount -a 可以任意運行多次如何撤銷所有操作?如果要取消自動掛載,只要把 /etc/fstab 中新加的這一行刪掉或者在行首添加一個 # 符號就可以了與其他方案的相容性關於手動掛載,大家都是一樣的辦法正文結束







Copyright © Linux教程網 All Rights Reserved