搞了一天,终于成功迁移。由于一开始就没备份过程实在很曲折。

希望本篇对那些没有备份习惯的朋友们有所帮助。

准备工作:

sudo vim /etc/fstab

在文件中加入:

/dev/sdb8       /home            ext4    user,rw 0       2

这里其实有问题的,后面会提到

一个新的linux分区,这里我的新分区是sdb8,个人不尽相同。我用的是ext4格式,注意要新的,不要有坏块,最好重新格式化下。我就是因为没格式化,吃过亏,logo界面就提示挂载出错,真心寒。

果断进入 ctrl +alt + f1,命令行模式,执行mount -a , 系统会提示输入一个指令,我输入这个指令后,发现有坏块,果断格式化

怎么格式化,这里不详细讲解了。用命令mkfs就可以,保险起见,我还用了sudo fdisk /dev/sdb查看了分区表情况,也正常。


那么接下来将详细讲述本文重点部分,就是不备份情况如何成功迁移/home至新分区

格式化完毕,分区别也正常,那么重启。然后问题来了:无法登入桌面。一直要你输入密码,密码没有问题,因为tty1,即开头讲的命令行可以登陆。

无法登入桌面的原因,网上有很多,方法也很多。我之前也碰到过一次,之前因为我肆无忌惮的删除各种依赖包,导致系统文件损坏,网上纵使有很多大神,我也只能说是回天乏力,无奈之下,我只能重装,就诞生了那篇分区表损坏情况下重装日志。所以还请各位删依赖的时候,千万要小心,除非你记得,这些依赖包的名字,你可以重新install回来。

那么这次无法登入桌面,原因是完全不一样的,因为我发现我用会客是可以登入的,说明桌面系统并没有损坏,那么网上那些关于重新intall 桌面的命令,全都可以忽略不计,因为药不对疾,我们要关注那些,修改主目录配置文件的命令,如:rm ~/.Xauthority等等的,这条命令只是参考,但意义很重要,下面会讲到。

那么问题又来了,既然~下的配置文件,我现在只是在fstab加了/home目录,还没有主目录,当然系统登入不了,于是在/home下, mkdir rainey/。这样主目录就设置好了,重启后,意料之中,一点变化也没有,为什么,因为没有.Xauthority这个配置文件,但是网上不说要删除这个文件,我这里反而要添加呢,原因我后面会讲到,我先来在~下添加这个文件(可以在/目录下搜索到这个文件,然后拷贝到你的主目录下),然后重启,情况是:可以登入桌面,但是是死的。就是说密码界面已经通过,桌面的控件没有激活,相当于死的。

这里就关系的权限问题了,ls -l /home ,你会发现你主目录所有者居然是root(即使fstab下我的挂在参数写的usr, 也还是以root权限挂上去,这个不知道ubuntu为什么要这么做),这自然有问题了,linux好就好在它的挂载系统,原来/home目录下文件还是存在,只不过没有挂在点而已。为了确认是不是权限问题,我把fstab下/home分区挂载的那句注掉,然后重启,系统会自动找到/分区下的/home目录(原先的默认home挂载点).

执行:ls -al,如图所示:

果然是rainey为所有者

那么回过来,重新将fstab下刚刚注释的那一行还原,重起后执行:

sudo chmod rainey:rainey /home/rainey

然后重启。顺利进入桌面。

回过头来想想,是不是我们一开始就用这个命令,或者用sudo chmod 777 /home/rainey 这样的命令,问题就会得到解决呢,也许吧,因为毕竟.Xauthority这个配置文件是自动生成,也许创建主目录后,直接改权限,能让我们少走弯路,读者自行尝试吧。

可是这次操作并未就此结束,因为主目录下很多配置文件都非常有用,很多我们开发用的环境配置都在里面,所以我打算还是把原来主目录下的.*这些配置文件都考到我新的主目录喜下,那么需要重新回到原来的主目录(方法上面已经讲到过),然后备份到其他分区(只要不在原来/home目录下就好),然后再这些备份的配置文件拷贝到新主目录下。但是是会发现,你很多应用程序不能跑,会报错,首先考虑的权限问题,很多目录都是root用户的,改为自己的用户。

虽然这样解决了大部分,程序报错的问题。但是我最主要环境AS(Android Studio)还是报错,说~/.AndroidStudio1.03/system/tmp/*.sh(具体名字太长忘了),这个文件权限不够,建议我重装,好,我听它的,重装as,坑爹,还是报一模一样的问题,那说明配置有问题。起初以为是这个sh文件的问题,于是自己写了个sh,发现也不能执行。说明不是文件问题。然后又发现/bin/bash *.sh就可以执行, ./*.sh就不行,于是尝试在PATH环境变量下加入./,结果发现还是不行。于是尝试把*.sh移动/目录下执行,发现./*.sh。顿时,豁然开朗,肯定是/home目录下,可执行权限配置跟其他目录不一样,但是/home下目录都是rainey用户的了啊,也都包含了x权限了啊。百思不得其解啊,挂载出现了问题,因为/home就挂载方式跟其他目录不一样,其他配置都一样啊。然后仔细回想挂载全过程,突然想到点了,fstab,对,就是一开始我提到后面会着重讲到那句挂载语句,挂载参数出了问题,亲们,以后挂载参数千万不能写rw啊(就算你把/home下所有东西都改成777,这一关也过不去啊),就因为这句话,整整让我折腾了一天啊。下面给出正确的挂载语句:

/dev/sdb8       /home                   ext4            errors=remount-ro               0       1

这句才是正解啊。辛苦一天,写点心得,即是教训,也是积累。

迁移/home目录至新硬盘分区总结--无备份情况下的更多相关文章

  1. Oracle 无备份情况下的恢复--临时文件/在线重做日志/ORA-00205

    13.5 恢复临时文件 临时文件没有也不应该备份.通过V$TEMPFILE可以找到所有的临时文件. 此类文件的损坏会造成需要使用临时表空间的命令执行失败,不至于造成实例崩溃或session中断.由于临 ...

  2. Oracle 无备份情况下的恢复--控制文件/数据文件

    13.3无备份恢复控制文件 没有备份恢复控制文件其实就是在nomount状态,create control创建一个新的控制文件. dba必须知道4个信息才能正确的创建:数据库名.在线日志路径及其大小. ...

  3. Oracle 无备份情况下的恢复--密码文件/参数文件

    13.1 恢复密码文件 密码文件(linux 为例)在$ORACLE_HOME/dbs目录下,文件名的前缀是orapw,后接数据库实例名. [oracle@DSI backup]$ cd /u01/a ...

  4. Oracle备份恢复之无备份情况下恢复undo表空间

    UNDO表空间存储着DML操作数据块的前镜像数据,在数据回滚,一致性读,闪回操作,实例恢复的时候都可能用到UNDO表空间中的数据.如果在生产过程中丢失或破坏了UNDO表空间,可能导致某些事务无法回滚, ...

  5. mysql数据文件迁移到新的硬盘分区的方法

    该系统增加了一个硬盘.要创建新的分区/data文件夹,mysql对于数据文件夹/var/lib/mysql 1.  停止mysql维修 [root@localhost~]# service mysql ...

  6. KVM虚拟机内无agent情况下的监控方法

    KVM虚拟机内无agent情况下的监控(ceilometer实现) 今天看到大家在群里讨论KVM虚拟机的监控问题,而且是要求VM内无agent情况下的监控.这方面确实没有深入研究,但尚有些openst ...

  7. 关于img标签浏览器自带的边框,清除边框的解决方式(即img[src=""] img无路径情况下,灰色边框去除解决方法)

    详解img[src=""] img无路径情况下,灰色边框去除解决方法 1.Js解决办法 <html> <head> <meta charset=&qu ...

  8. CentsOS7无网情况下安装mysql5.7

    1.需求就不用讲了,客户现场,政府环境,银行环境,大多是没网的,所以无网安装是很有必要的 mysql下载路径:https://dev.mysql.com/downloads/mysql/ 查看自己Li ...

  9. Kali Linux ——在无网络情况下安装无线网卡驱动

    1.背景: 今日刚刚开始学习kali linux,众所周知,安装完成后,系统是没有无线网卡驱动的,这就对学生党造成相当的困扰:校园网要连接有线是需要认证客户端的,而认证客户端只有windows端,如此 ...

随机推荐

  1. PHP进度条

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. php网站判断用户是否是手机访问的方法

    PHP网站判断用户是否用手机访问,如果是手机的话,就跳转到指定的手机友好页面.随着移动设备的普及,网站也会迎来越来越多移动设备的访问.用适应PC的页面,很多时候对手机用户不友好,那么有些时候,我们需要 ...

  3. Python自动化运维之16、线程、进程、协程、queue队列

    一.线程 1.什么是线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位. 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行 ...

  4. powerpoint取色器有什么用|ppt取色器使用教程

    在使用powerpoint过程中常常发现一些功能我们很少用到,其实是自己不会用的原因,关于powerpoint取色器有什么用呢?接下来我们一起来学一下ppt取色器使用教程. powerpoint取色器 ...

  5. 夏梦竹谈Hive vs. HBase的区别

    对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用.  Hive是什么? Apache Hive是 ...

  6. 【贪心】XMU 1061 Ckp的约会

    题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1061 题目大意: n个任务(n<=1000),给定名字和开始.结束时间,求最多能 ...

  7. 声明 && 温馨提示 by ljh2000

    听说有人很喜欢狙我......看我不把你们抓起来嘿嘿嘿! 为了采取措施,不让被狙成为生活常态(雾   ,我要闭关锁国辣,我要开始屯田辣! 以后写完题目先存一波草稿,等屯题屯到10-20道时再一起发出来 ...

  8. 引用 运行asp.net程序时候,编译器错误消息: CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Fra

    引用 运行asp.net程序时候,编译器错误消息: CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary A ...

  9. ubuntu14.04下交叉编译器的安装

    今天打算换个工作环境,在ubuntu下装交叉编译器,可谓一波三折.最后总算是装好了. 首先参照一下这位仁兄的博客http://blog.csdn.net/silleyj/article/details ...

  10. Java图像灰度化的实现过程解析

    概要 本文主要介绍了灰度化的几种方法,以及如何使用Java实现灰度化.同时分析了网上一种常见却并不妥当的Java灰度化实现,以及证明了opencv的灰度化是使用“加权灰度化”法 24位彩色图与8位灰度 ...