Saturday, January 9, 2021

Ubuntu Linux cannot boot from SSD harddrive


Goal

To replace an old computer's HDD with an SSD harddrive. And install Ubuntu Linux on it.


Issue

The computer is too old. Its BIOS does not recognize the SSD harddrive during boot time. However, after the usb live Ubuntu boots up, it can see the SSD.


Solution

The first thing to try is to upgrade the firmware of the BIOS. But in my case, it doesn't help.

So I used a small capacity USB drive (1GB is good enough) to help the boot. Use gparted from the live Ubuntu to partition the new SSD with a swap and an ext4. And format the 1GB USB drive as ext2 (which doesn't use journaling).

Now we can run "Install Ubuntu" and during the installation, mount the USB drive to /boot directory. For example, if SSD is /dev/sda and the 1GB USB drive is /dev/sdc, then set up the mount point as below:

/dev/sda1      mount point: /
/dev/sdc1      mount point: /boot

And install the boot loader to /dev/sdc.

Note: Remember to unmount the 1GB USB drive (/dev/sdc) before running the installation. Otherwise, the installation process cannot mount it and install the /boot to it.


Backup the boot drive

To backup the /dev/sdc to an image file, run:

$ dd if=/dev/sdc of=bootdrive.img bs=64M status=progress

After that, in case the 1GB USB drive is damage or lost, you can create a new one from bootdrive.img.


No comments:

 
Get This <