昨天一不小心改变了系统/usr的权限,导致grub引导的Ubuntu系统进不去,查找方法失效后,我使用u盘引导的方式重装ubuntu系统,并恢复原有/home 路径下挂载的近74GB文件。挂载的好处就是这种如果系统崩了,还能保存/home下的文件不丢.....
linux分区
SWAP分区是LINUX暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为SWAP使用的分区不用指定“Mout Point”(载入点),既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,一般来说它的大小是内存的一至两倍。另外你也可以创建和使用一个以上的交换分区,最多16个。
分区的原因
为什么要自定义多个分区
在不损失数据的情况下重装系统,比如独立设置/home挂载点,重装系统的时候直接标记回/home,数据不会有任何损失。
针对不同挂载点的特性分配合适的文件系统以合理发挥性能,比如对/var使用reiserfs,对/home使用xfs,对/使用ext4。
针对不同的挂载点开启不同的挂载选项,如是否需要即时同步,是否开启日志,是否启用压缩。
大硬盘搜索范围大,效率低
磁盘配额只能对分区做设定
/home、/var、/usr/local 经常是单独分区,因为经常会操作,容易产生碎片
(常见的挂载目录结构)
/ 根目录,存放系统命令和用户数据等(如果下面挂载点没有单独的分区,它们都将在根目录的分区中) /boot boot loader 的静态链接文件,存放与Linux启动相关的程序 /home 用户目录,存放普通用户的数据 /tmp 临时文件 /usr 是Linux系统存放软件的地方,如有可能应将最大空间分给它 /usr/local 自已安装程序安装在此 /var 不断变化的数据,服务器的一些服务、日志放在下面 /opt (Option可选的)附加的应用程序软件包 /bin 基本命令执行文 /dev 设备文件 /etc 主机特定的系统配置 /lib 基本共享库以及内核模块 /media 用于移动介质的挂载点 /mnt 用于临时挂载文件系统或者别的硬件设备(如光驱、软驱) /proc 系统信息的虚拟目录(2.4 和 2.6 内核),这些信息是在内存中,由系统自己产生的 /root root 用户的目录 /sbin 基本系统命令执行文件 /sys 系统信息的虚拟目录(2.6 内核) /srv 系统提供的用于 service 的数据 /usr/X1186 X-Windows目录,存放一些X-Windows的配置文件 /usr/include 系统头文件,存储一些C语言的头文件 /usr/src Linux内核源代码,Linux系统所安装的内核源代码都保存在此 /usr/bin 对/bin目录的一些补充 /usr/sbin 对/sbin目录的一些补充 /lost+found 这个目录在大多数情况下都是空的。但是如果你正在工作突然停电,或是没有用正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放的地方,对于这些文件,系统将他们放在这个目录下
为什么会有挂载
因为linux 下一切皆文件!换句说法就是linux操作系统将系统中的一切都作为文件来管理。在windows中我们常见的硬件设备(打印机、网卡、声卡...)、磁盘分区等,在linux中统统都被视作文件,对设备、分区的访问就是读写对应的文件。
linux挂载
临时挂载
$ mount##sda3分区挂载在data目录下 $ umount##卸载data目录下分区
永久挂载:开机自动挂载
需要修改/etc/fstab
Device
By default, Ubuntu now uses UUID to identify partitions.
默认,Ubuntu用uuid识别分区
To list your devices by UUID use blkid
sudo blkid
使用命令 fdisk -l
可以列出系统中当前连接的硬盘,设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息.
可以先mkdir一个目录,比如new_dir,然后挂载分区:
mount /dev/sda11 /mnt/new_dir
将所有东西全部cp到new_dir中
move原有的home
cp /home/* /mnt/new_dir/ mv /home /old_home
再mkdir
一个新的home,将sda11再mount到home上
mount /dev/sda11 /home
df -h
查看硬盘大小和挂载情况
最后根据要求,修改/etc/fstab 文件,注意格式要和其他保持一致,查看UUID可以用前文中说的方法。最后
mount -a
这样就设置了fstab中的参数,设置完之后一定要看看生不生效,再继续操作