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[]
#用管理员权限打开文件夹,在终端输入
sudonautilus
#载挂
sudomount/dev/sda1/mnt
0x02
下面开始正式操作(终端):
#在原硬盘
#切换到root用户
sudo-s
cd/
#打包除了这几个(原文没有"--exclude=/boot",但我因为/boot/gurb吃了不少苦头,没必要覆盖)
tarcvpzfUbuntu.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/
tarxvpfzUbuntu.tgz-C/
#-C参数是指定tar程序解压缩到的目录。(在本例中是/)
如果说这样没有问题的话,那就OK了。
如果不,我只能说说我出现的问题,可做参考:
我是在旧系统的时候解压的,而且覆盖了/boot/grub,开不了机。
因此需要修复grub
#挂载新硬盘
#先看看/etc/fstab里面的UUID是否正确
vim/etc/fstab
#使用lsblk命令可以清晰的获取全局的块设备布局
#使用blkid命令可以获取设备的UUID
#fstab文件修改正确
#重安装grub
#之前看一下/mnt/boot/下如果有grub文件夹,考虑先把它重命名一下,防止后面的命令失效:
sudomv/mnt/boot/grub/mnt/boot/grub_bak
sudogrub-install--boot-directory=/mnt/boot/dev/sda
sudoupdate-grub
如果重启还是没有成功,而是进入新系统进入grub界面。
则:
grub>exit
进入advancedoptionsofubuntu..
sudoupdate-grub#gotthegrub.cfg
|