记一次磁盘挂载实验导致系统不能启动

1350阅读 0评论2015-05-04 hitwh_Gypsy
分类:服务器与存储

之前在思考关于磁盘挂载的问题:

[root@Gypsy ~]# df -HT

Filesystem          Type   Size  Used Avail Use% Mounted on

/dev/mapper/vg1-lv1 ext4   5.2G  363M  4.6G   8% /

tmpfs               tmpfs  519M     0  519M   0% /dev/shm

/dev/sda2           ext4   102M   30M   67M  31% /boot

/dev/mapper/vg1-lv2 ext4   4.2G   76M  3.9G   2% /home

/dev/sda5           ext4   1.5G   36M  1.4G   3% /tmp

/dev/mapper/vg1-lv3 ext4   7.3G  898M  6.0G  14% /usr

/dev/mapper/vg1-lv4 ext4   1.1G  313M  667M  32% /var

 

1、同一个挂载点(即某个目录),可以挂载多个分区,那么之前挂载的分区的数据会怎样呢?

经过试验证实,假如在 /liu 目录下挂载了挂载了 /dev/sda2 ,然后又挂载了 /dev/sda5

那么 /liu 目录下的数据就是 /dev/sda5 里的数据,即覆盖了 /dev/sda2 里的数据。

umount /dev/sda5 之后再去浏览 /liu ,发现又变回 /dev/sda2 里的数据了(原来的数据没有变化)

2、原来的 /dev/sda5 挂载在 /tmp 上。卸载 umount /dev/sda2 之后,再挂载到 /tmp 上,

发现 /dev/sda5 的数据没有变化。(卸载之后并没有进行格式化操作)

 

———————————————————————————————————————

 

好了,背景介绍完毕。

针对上一个实验,我在卸载 umount /dev/sda2 之后,对他格式化了一下,

又重新挂载在 /tmp ,    /tmp 目录下自然是没有数据了。

但是在我关机之后,今天开机的时候报错了,如图所示:

问题就是无法解析  那个 UUID,仔细想想,自己只更改过 /dev/sda5 这个分区,所以应该是这个分区所对应的UUID,于是用  dumpe2fs  /dev/sda5 |grep -i uuid  这个命令查看当前时刻下  /dev/sda5  UUID,果然发现和之前报错的不是一个。

说明在卸载之后的  格式化操作(mkfs.ext4 /dev/sda5) 更改了该分区所对应的UUID,但是没有写入到 /etc/fstab 文件里去。所以在重新启动的时候导致了无法解析之前的旧的UUID,从而报错。

 

解决办法:

进入救援模式,编辑 /etc/fstab  文件,找到 /dev/sda5 那行,将/dev/sda5新的 UUID替换掉旧的UUID,保存后重启就OK了。

下面这个文件是我第二次做实验的时候的数据,和上面截图不一样。但是原理是对的。

 

[root@Gypsy ~]# cat /etc/fstab

 

#

# /etc/fstab

# Created by anaconda on Tue Apr 21 05:57:59 2015

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/vg1-lv1     /                       ext4    defaults        1 1

UUID=88589eb4-222e-4fef-875b-f95820e65ada /boot                   ext4    defaults        1 2

/dev/mapper/vg1-lv2     /home                   ext4    defaults        1 2

#UUID=bcd1eb6f-9b93-47d9-9a9a-1dfb7e00de07 /tmp                    ext4    defaults        1 2

UUID=7627ad56-be7a-48fa-b38a-1aadfb81eaa5 /tmp                    ext4    defaults        1 2

/dev/mapper/vg1-lv3     /usr                    ext4    defaults        1 2

/dev/mapper/vg1-lv4     /var                    ext4    defaults        1 2

UUID=f7730c98-c81e-490e-ae35-be3414516747 swap                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0



就是这么简单。

上一篇:关于Block Size的一点总结
下一篇:关于内存地址分配问题做的几个实验