Linux下把rootfs移动到SSD,以及移动后启动发现Firefox打开仿佛刷新一遍找不到原有账户数据的处理办法
参考链接
grub2 - grub-probe: error: failed to get canonical path of /cow - Unix & Linux Stack Exchange
linux .mozilla文件夹,Firefox在Linux系统配置文件夹的默认路径_椰子大魔头的博客-CSDN博客
移动 rootfs
要移动rootfs是因为在用的电脑,原来的rootfs是放在了机械盘上,虽然7200rpm,但是最近才注意到,开机一次要3分多钟……
都买了SSD然后发现,原来装的SSD留了一个分区是Windows的操作系统,格式化以后空出100G,刚好……SSD拿别的地方用了
我的思路比较简单,
- 格式化分区为
ext4
,挂载到新目录 - 机械盘里除了
home
目录以外的东西都挪到新分区,用的是cp -a
的命令,软链接不会解析 - 修改新分区的
/etc/fstab
,更换挂载为rootfs
的SSD的root分区的UUID,机械盘则 - 参考
mount
命令结果,在新rootfs
下建立缺少的dev
,tmp
,proc
等目录用于挂载 - 设置新分区下的
home
目录软链接到,/etc/fstab
里指定的挂载机械盘的目录下的home
,如/media/ssdpart/home -> /media/hdd/home
- 修改
grub2
引导,启动改用SSD作为rootfs
- 等尘埃落定,再把机械盘里其他非
home
目录删掉,把新盘里的home
目录改成空文件夹,直接把机械盘整个分区挂载到home
目录
一通操作完,发现启动还是3分钟!
怎么回事呢?一看gnome磁盘,好家伙,挂载的还是机械盘的rootfs
我重启进grub,手动引导进SSD的rootfs
,发现新系统是能正常跑起来的
多尝试几次,在grub2界面按e
查出了端倪:里面指定的rootfs
的UUID还是机械盘分区……
再查,发现/boot/efi/EFI/ubuntu/grub.cfg
里面的内容是
search.fs_uuid 58daa52f-8d21-497d-998e-a27135554968 root hd0,gpt3
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
找的还是机械盘……
虽然直接修改这里的UUID和root,但是我还是研究了一下标准命令的方法
结果update-grub
更新不到这个地方,install-grub
怎么执行都不对,报错是 grub-probe: error: failed to get canonical path of /cow
最后那个cow好像是别的什么单词
最后找资料(资料链接1),知道了install-grub
的用法
root@raspixmc:/home/pi# mount /dev/sda1 /mnt
root@raspixmc:/home/pi# cd /mnt
root@raspixmc:/mnt# mount --bind /dev dev/
root@raspixmc:/mnt# mount --bind /sys sys/
root@raspixmc:/mnt# mount --bind /proc proc/
root@raspixmc:/mnt# mount --bind /dev/pts dev/pts
root@raspixmc:/mnt# chroot . bin/bash
root@raspixmc:/# update-grub
Generating grub configuration file ...
Found Raspbian GNU/Linux 9 (stretch) on /dev/mmcblk0p2
done
root@raspixmc:/#
绑定挂载后我这边能执行了,然后启动后也正确使用SSD作为rootfs
,30秒开机登录,老电脑焕发第二春,nice
恢复 Firefox
但是还是有少许问题掺杂在里面的,比如打开Firefox
:
我还以为我数据都丢了……
虽然我有登录国内服务器的Firefox
帐号,登录完同步一遍也可以……但是好像登录之后是登录的国际服……也就是说这个新的火狐里没有国内插件附加组件管理器
考虑到我没有删除什么数据,应该可以恢复,我就尝试搜索了一下,在资料链接2里找到了这个~/.mozilla/firefox
目录
发现有最新时间戳的数据文件夹s6r4dujs.default-release
只有十几MB,而我原来的另一个文件夹,700MB,没有带上-release
后缀
我就把新的文件夹备份了下,把我700MB的文件夹改名成s6r4dujs.default-release
,重新打开Firefox
,我的收藏夹,插件都回来了!
就是皮肤加载不完全,要去关闭,重新打开,然后重新启动Firefox
,就恢复正常了。
后面还想尝试,我的Firefox
程序和数据都是在机械盘,是把Firefox
的程序放到SSD更快,还是数据放过去更快……
还没研究出来,因为打开一次以后再重新打开Firefox
,启动速度就非常快了,内存里有缓存可能
期间发现,程序移到SSD,数据文件夹又变了名字2g9fc6z0.default-release-1
。。