我运行的是 CentOS 7。
我有/var
一个单独的硬盘驱动器,并smartctl
显示它有一些读取错误。因此,我想移动/var
到另一个硬盘。
对于新硬盘,我使用 gparted 创建两个分区(1MB 对齐)。
然后,我将一个分区安装到/mnt/var_new
然后rsync -avHPSAX --filter='-x security.selinux' /var/ /mnt/var_new/
。正如预期的那样,一个文件无法同步(这正好证实了为什么smartctl
会出现读取错误):
WARNING: cache/yum/x86_64/7/centos-sclo-sclo/gen/primary_db.sqlite failed verification -- update discarded (will try again).
cache/yum/x86_64/7/centos-sclo-sclo/gen/primary_db.sqlite
1,607,680 100% 2.81MB/s 0:00:00 (xfr#3, ir-chk=1309/1607)
rsync: read errors mapping "/var/cache/yum/x86_64/7/centos-sclo-sclo/gen/primary_db.sqlite": Input/output error (5)
ERROR: cache/yum/x86_64/7/centos-sclo-sclo/gen/primary_db.sqlite failed verification -- update discarded.
并且没有其他文件无法同步(我rsync
再次重新运行以确认)。
然后,我正确删除了安装旧的条目/var
并添加了一个新条目来安装新的/var
。
然后,我重新启动,然后它无法启动,出现大量故障(只是纯黑屏)。
然后,我启动到紧急模式,新的/var
确实正确安装,我可以在那里看到相关文件。
/var
我确实读过一些需要处于 755 模式并且/var/tmp
需要设置粘性位的文章。我两者都有。
我做错了什么?
谢谢!
答案1
在恢复模式下:
chroot
进入你的系统mount /var
如果没有安装restorecon -rv /var
然后再次尝试正常启动。
确保您的/var
输入/etc/fstab
正确。