明天闲来无事,更改了一下/etc/fstab,想在启动时手动挂载Windows下的几个分区。曾经干过这种事情,所以也没太当回事。
由于当初重装过一次,所以/boot分区如今成了/boot1分区linux文件系统变只读,/分区成了/1分区linux教程,在/etc/fstab表中我认为不好看。所以更改的时侯,我随手把/boot1改成了/boot,/1改成了/。
结果再度重启时,系统找不到这两个分区,自然也就启动不了了。纠结。
好在还有shell能用,prompt符为(Pepairfilesystem)#。我又运行了#vi/etc/fstab
想修改fstab文件。没想到此时所用文件都是readonly,改不了了。欲哭无泪。
想了一会儿,忽然记起可以步入rescue模式,其实能有办法。于是那张搜救盘有了用武之地了。
步入rescue模式后,执行
#mount-tvfat/dev/hda9/tmp
将那种难以手动挂载的/1分区随意挂到了一个挂载点下,之后才能读写之了。恢复fstab文件,再度重启,一切又正常了。
两个教训:更改配置文件时一定要慎重,不要轻率的乱改;要有恢复手段,启动盘或则搜救盘一定要打算好。
---------------------------------------------------------------
怎么修补/etc/fstab
我mv/etc./fstab/etc/fstab.bak
重启时,到(Repairfilesystem)#所有file只读,怎么让它该为可写,之后mv/etc/fstab.bak/etc/fstab,让它能正常启动?
1---------------
boot:linuxrescue
#mkdir/mnt/image
#mount-text3/dev/hda4/mnt/image
通常是硬碟最后一个分区上面,我分区表如下:
[root@YYZH~]#fdisk-l
Disk/dev/sda:42.9GB,42949672960bytes
255heads,63sectors/track,5221cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/sda1*12520078183Linux
/dev/sda226130010241437+83Linux
/dev/sda31301257510241437+83Linux
/dev/sda425765221212539955Extended
/dev/sda5257638501024140683Linux
/dev/sda63851391552208182Linuxswap/Solaris
/dev/sda73916522110490413+83Linux
我挂载时用mount-text3/dev/sda7/mnt/image之后步入后vifstab进行文件更改
cd/mnt/image/etc
cpfstab.bakfstab
2---------------
rescueMODE
会MOUNT/到/mnt/sysimage
3---------------
rescueMODE
会MOUNT/到/mnt/s
更改/etc/fstab实现手动挂载Windows分区,并显示英文目录
LABEL=//ext3defaults11
none/dev/ptsdevptsgid=5,mode=62000
none/procprocdefaults00
none/dev/shmtmpfsdefaults00
LABEL=/usr/usrext3defaults12
/dev/hda9swapswapdefaults00
#添加如下几行
/dev/hda1/mnt/win_cvfatcodepage=936,iocharset=cp93600
/dev/hda5/mnt/win_dvfatcodepage=936,iocharset=cp93600
/dev/hda6/mnt/win_evfatcodepage=936,iocharset=cp93600
下边是一些文件说明
1.fstab文件的作用
文件/etc/fstab储存的是系统中的文件系统信息。当正确的设置了该文件,则可以通过”mount/directoryname”命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的数组都有空格或tab键分开。同时fsck、mount、umount的等命令都借助该程序。
2.fstab文件格式
下边是/etc/fatab文件的一个示例行:
fs_specfs_filefs_typefs_optionsfs_dumpfs_pass
/dev/hda1/ext2defaults11
fs_spec-该数组定义希望加载的文件系统所在的设备或远程文件系统,对于通常的本宗地设备情况来说:IDE设备通常描述为/dev/hdaXN,X是IDE设备通道(a,b,orc),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式通常为:,比如:`knuth.aeb.nl:/’。对于procfs,使用`proc’来定义。
fs_file-该数组描述希望的文件系统加载的目录点linux文件系统变只读,对于swap设备linux培训学校,该数组为none;对于加载目录名包含空格的情况,用40来表示空格。
fs_type-定义了该设备上的文件系统,通常常见的文件类型为ext2(Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。
fs_options-指定加载该设备的文件系统是须要使用的特定参数选项,多个参数是由冒号分隔开来。对于大多数系统使用”defaults”就可以满足须要。其他常见的选项包括:
选项含意
ro以只读模式加载该文件系统
sync不对该设备的写操作进行缓冲处理,这可以避免在非正常死机时情况下破坏文件系统,并且却增加了计算机速率
user容许普通用户加载该文件系统
quota强制在该文件系统上进行c盘定额限制
noauto不再使用mount-a命令(比如系统启动时)加载该文件系统
fs_dump-该选项被”dump”命令使用来检测一个文件系统应当以多快频度进行轮询,若不须要轮询就设置该数组为0
fs_pass-该数组被fsck命令拿来决定在启动时须要被扫描的文件系统的次序,根文件系统”/”对应当数组的值应当为1,其他文件系统应当为2。若该文件系统无需在启动时扫描则设置该数组为0
3.示例文件
#/etc/fstab
/dev/hda9swapswapdefaults00
/dev/hda1/ext2defaults11
/dev/hda5/homeext2defaults11
/dev/hda6/usrext2defaults11
/dev/hda7/usr/localext2defaults11
/dev/hda8/varext2defaults11
/dev/hdb/cdromiso9660noauto,user00
none/procprocdefaults00
none/dev/ptsdevptsgid=5,mode=62000
---------------------------------------------------------------
创建/etc/fstab文件
为了个别程序能确定某一个程序被加载的实际位置,文件/etc/fstab将被使用。通过以下方式构建一个新文件/etc/fstab:
cat>/etc/fstab