0x00

背景:

  • 目前ubuntu用的是一个80g的硬盘( 一开始没买硬盘,直接拆了一个老老老老的机子来用),系统16.04, 只有一个/分区 ( /dev/sdb1 ) 。
  • 新的硬盘是一块256G的SSD,新装了一个系统,除了2G的swap,其他都归 / 目录了( /dev/sda1 )。

0x01

一些有用的命令:
fdisk -l # 查看分区 du -lh # 查看文件目录大小
> 使用参数--max-depth=指定深入
du -h --max-depth=1 [] # 用管理员权限打开文件夹,在终端输入
sudo nautilus # 载挂
sudo mount /dev/sda1 /mnt

0x02

下面开始正式操作(终端):

# 在原硬盘
# 切换到root用户
sudo -s
cd /
# 打包除了这几个(原文没有"--exclude=/boot",但我因为/boot/gurb吃了不少苦头,没必要覆盖)
tar cvpzf Ubuntu.tgz --exclude=/proc --exclude=/lost+found --exclude=/Ubuntu.tgz --exclude=/mnt --exclude=/sys --exclude=/boot /
# 备份完成后,在文件系统的根目录将生成一个名为“Ubuntu.tgz”的文件,它的尺寸有可能非常大,该文件就可以移动,本文中直接挂载新硬盘复制了。(所以在此之前需要确保还有空间剩余,tgz能压缩到50%一下,仅作参考。) # 挂载新硬盘, 拷贝文件
mount /dev/sda1 /mnt
cp /Ubuntu.tgz /mnt/Ubuntu.tgz
umount /mnt # 恢复系统 ( 可以直接在旧系统处理了,直接拷贝文件,第一次做还是小心谨慎一些)
sudo -s
cd /
tar xvpfz Ubuntu.tgz -C /
# -C 参数是指定tar程序解压缩到的目录。( 在本例中是/ )

如果说这样没有问题的话,那就OK了。

如果不,我只能说说我出现的问题,可做参考:

我是在旧系统的时候解压的,而且覆盖了 /boot/grub,开不了机。

【图】

因此需要修复grub

# 挂载新硬盘
# 先看看 /etc/fstab 里面的UUID是否正确
vim /etc/fstab
# 使用 lsblk 命令可以清晰的获取全局的块设备布局
# 使用blkid命令可以获取设备的UUID
# fstab文件修改正确 # 重安装grub
# 之前看一下 /mnt/boot/ 下如果有grub文件夹,考虑先把它重命名一下,防止后面的命令失效:
sudo mv /mnt/boot/grub /mnt/boot/grub_bak
sudo grub-install --boot-directory=/mnt/boot /dev/sda
sudo update-grub

如果重启还是没有成功,而是进入新系统进入grub界面。

则:

grub> exit

进入advanced options of ubuntu..

sudo update-grub  # got the grub.cfg

参考:

Ubuntu更换硬盘的更多相关文章

  1. ubuntu更换软件源

     ubuntu更换软件源 /etc/apt/source.list 163: deb http://mirrors.163.com/ubuntu/ trusty main restricted u ...

  2. 在win7下装ubuntu(硬盘版安装)及遇到的问题

    都怪自己弄什么Ubuntu下的Android Studio,因为GFW,gradle总下载不了,用命令行下载一半关机了,然后Ubuntu就这样被我搞残废了.又张罗着重装. 其实就是参照网上的帖子,算是 ...

  3. ubuntu更换开机动画

    ubuntu更换启动动画 作为一个个用linux作为桌面环境,并且完全替代了windows的来说,怎么折腾好看,是一个重要的问题,而Ubuntu的开机动画,那紫色的画面,ubuntu那几个大字,实在丑 ...

  4. 由于更换硬盘没有删除系统自启动读取挂载硬盘导致系统报错:fsck.ext4 unable to resolve 'UUID=a4a7a0f7-b54f-4774-9fb1'

    由于更换硬盘没有删除系统自启动读取挂载硬盘导致系统报错:fsck.ext4 unable to resolve 'UUID=a4a7a0f7-b54f-4774-9fb1' 此时进入系统已root模式 ...

  5. (转)AIX下镜像制作与取消,更换硬盘问题

    AIX下镜像制作与取消,更换硬盘问题 ROOTVG做镜像问题: 下面命令全部在AIX5.4上运行通过 # lspv hdisk0      000a1ddc7f36a2f0      rootvg   ...

  6. (转)一次棘手的rootvg更换硬盘处理过程

    一次棘手的rootvg更换硬盘处理过程 原文:http://www.talkwithtrend.com/Article/160857 事件起因 下午接到现场工程师电话,一台双系统抽屉IBM P570一 ...

  7. hadoop更换硬盘

    hadoop服务器更换硬盘操作步骤(datanode hadoop目录${HADOOP_HOME}/bin    日志位置:/var/log/hadoop)1.登陆服务器,切换到mapred用户,执行 ...

  8. 增加虚拟机ubuntu的硬盘

    20150526更新验证日记: (1)首先在虚拟机中增加ubuntu的硬盘大小. (2)在ubuntu中使用Gparted软件对新的空间进行分配(傻瓜式) (3)不能直接将磁盘挂载到home下,只能先 ...

  9. Ubuntu更换主板之后 网络重新配置

    Ubuntu更换主板之后,网络不能用,需要重新配置 1.  首要要查看新主板的mac地址, dmesg | grep eth 2.  修改网络信息,该配置文件是/etc/udev/rules.d, 文 ...

随机推荐

  1. Ribbon是什么?

    学而时习之,不亦说乎!                              --<论语> Ribbon使用版本2.2.2 Ribbon是什么? 开始接触Ribbon的时候,网上以及很 ...

  2. MONO MessageBox 类

    MessageBox类,负责提示各种消息.   using System; using Android.App; using Android.Content; namespace Box { publ ...

  3. windows下Composer因php_openssl扩展缺失而安装失败

    Composer(https://getcomposer.org/)是PHP下的一个依赖管理工具.你可以在你的项目中声明你所需要用到的类库,然后Composer会在项目中为你安装它们.如果你了解Nod ...

  4. git 检出项目部分目录(稀疏检出)

    git clone 会把整个项目都clone下来,对于大项目git status比较慢,每次pull时候也拉取一些无关的代码或者文件:git可以实现像svn一样检出部分目录 步骤: git clone ...

  5. Git学习系列之Git基本操作推送项目(图文详解)

    前面博客 Git学习系列之Git基本操作提交项目(图文详解) 如果完成到一定程度,那么可以推送到远端在线仓库. 推送之前,请确保你已经设置了全局的 user.name 和 user.email, 如果 ...

  6. 关于function构造函数特别注意的

    function在javascript中是对象,所以function持有构造函数例子:var a = new Function("x","y","re ...

  7. C#调用Dll文件中方法的简单应用

    参考:http://www.cnblogs.com/Asuphy/p/4206623.html 直接看代码,最简单的引入,只需要3步: using System; using System.Colle ...

  8. R语言改变大小写 toupper()和 tolower()函数

    这些函数改变字符串的字符的大小写. 语法 toupper()和 tolower()函数的基本语法为: toupper(x) tolower(x) 以下是所使用的参数的说明: x - 向量输入. 示例 ...

  9. serilization 序列化 transient 不被序列化

    Serizlizable 作用 对于一个存在于Java虚拟机中的对象来说,其内部的状态只保持在内存中.JVM停止之后,这些状态就丢失了.在很多情况下,对象的内部状态是需要被持久化下来的.提到持久化,最 ...

  10. 网页布局之Div

    div(division分区) 它是一个块标签,主要用来把网页中相关的内容组织到一起 你可以把网页的头部放到一个标签中,主体部分放到另一个标签中 使用class类名描述div内容 要想区分每个div, ...