Upgrading the frame.work boot drive
on frame.work
Motivation
If you have read the prior frame.work post, you would know that I chose to use the external USB modules for the boot drive(s) of various OSes and share the internal NVME for a workspace.
I had initially started with the boot OS being a 250gb drive. Due to one program taking up half that space, I decided it was time to upgrade it.
Upgrading
I bought a new 1tb USB drive from frame.work.
I ended up following the instructions from Wolfgang Ziegler.
To recap:
- I ran
sudo lshw -class disk -class storage -short
to verify that the old 250gb drive was/dev/sda
and the new 1tb drive was/dev/sdb
- I became root with
sudo su - root
- I ran
pv < /dev/sda > /dev/sdb
- and wait… and wait… at least there was a progress bar
- I ran
gdisk
, choosing/dev/sdb
,w
rite,Y
es, andY
es - At this point there was a little divergence from the article. I tried removing the old drive and booting on the new one. It did boot, but the
/
filesystem was read-only. - After trying a few things (random commands, replugging, rebooting), something eventually clicked. I don’t honestly know what did the trick.
- Now, I was rebooted as myself with the 1tb now reporting as
/dev/sda
- I ran
sudo gparted
and resized the used partition to take up the remainder of the space.
And everything seemed to be working…
No boot device
Hours later, I got a blue screen on boot:
Default Boot Device Missing or Boot Failed
Insert Recovery Media and Hit any key
Then Select 'Boot Manager' to choose a new Boot Device or to Boot Recovery Media
This kind of reminded me of the problem I had switching back and forth between Ubuntu and Arch Linux.
I tried various BIOS settings, rebooting it, various keyboard keys…
What finally got it working again was:
- Unplug the 1tb drive
- Power up to this disappointing blue screen
- Plug in the 1tb drive
- Hit OK
- When the new screen came up, they cursors didn’t work; just hit Enter
- Once it boots, just run
sudo update-grub
(not sure if it was really necessary). - Reboot once more to make sure everything is OK