f the Salix installation disk booted in to EFI, then everything should have been setup by the installer. Since the Salix EFI boot menu entry doesn't boot then something went wrong and now have to confirm that a legitimate Salix EFI directory was created and correct the EFI boot menu entry. First confirm the existence of the ESP partition and what device it is on. To do this I suggest that your boot up the Salix installation disk and exit out of the installer drop into the linux console. Once in the console use gdisk to get a printout of your disk partitions. I assuming that the disk being used is sda. Type "gdisk /dev/sda and you should see the following output:
Code: Select all
root[rich]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.7
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help):
Now type "p" to get the disk partitioning scheme. It should look something like this, but most likely not as complex:
Code: Select all
Disk /dev/sda: 1465149168 sectors, 698.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 7F6EA309-1BAB-4D4A-9090-5F8ED70708C7
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1465149134
Partitions will be aligned on 2048-sector boundaries
Total free space is 114509485 sectors (54.6 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 616447 300.0 MiB EF00 EFI system partition
2 616448 2459647 900.0 MiB 2700 Basic data partition
3 2459648 2721791 128.0 MiB 0C01 Microsoft reserved part
4 2721792 732682239 348.1 GiB 0700 Basic data partition
5 1423183872 1465147391 20.0 GiB 2700 Basic data partition
6 732682240 736876543 2.0 GiB 8200 swap
7 736876544 778819583 20.0 GiB 8300 salix
8 778819584 946591743 80.0 GiB 0700 home
9 946591744 1048991743 48.8 GiB 8300
10 1048991744 1151391743 48.8 GiB 0700
11 1151391744 1235277823 40.0 GiB 8300
12 1235277824 1308678143 35.0 GiB 8300 flux
Command (? for help):
Now find the EPS partition which is identified by the EF00 code. In this case, and in most cases, it will be the first partition, sda1. Once you determine which partition is the ESP, exit out of gdisk by typing q at the prompt. Now mount the ESP so that you can view the directories and files that have been save on it. Do the following
Code: Select all
root[rich]# mkdir /tmp/efi
root[rich]# mount /dev/sda1 /tmp/efi/
root[rich]# cd /tmp/efi
If successful, there should be on directory call EFI on the /tmp/efi
Now look for a Salix directory in the EFI directory. Here's what I get on my system:
Code: Select all
root[efi]# ls EFI/
ASUS Boot Microsoft Salix
Assuming that your system has the Salix directory, then look into the directory to ensure that at a minimum you have the following files,
Code: Select all
root[efi]# ls -l EFI/Salix
total 6552
-rwxr-xr-x 1 root root 729 Jun 25 20:12 elilo.conf
-rwxr-xr-x 1 root root 250510 Jan 10 2011 elilo.efi
-rwxr-xr-x 1 root root 6436992 Feb 14 21:45 vmlinuz
If the ESP exit, and there is a Salix directory on it with the three files, then the installation did manage to set it a properly but some how the registration of the install to the EFI boot menu did not happen or got corrupted.
efibootmgr can be use to examine and manipulate the EFI boot menu. efibootmgr needs a kernel module, efivars, to work. Load it using modprobe:
Then use efibootmgr examine the current boot menu. Here's eaht mine looks like:
Code: Select all
root[/]# efibootmgr
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0002,0001,0000
Boot0000* Windows Boot Manager
Boot0001* Salix-Mate
Boot0002* Salix-XFCE
Boot0004* Salix
Yours should be different and should contain the Salix entry that doesn't work. Delete it by doing the following. I going to delete the Salix-Mate entry as an example:
Code: Select all
root[/]# efibootmgr -B -b 0001
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0002,0000
Boot0000* Windows Boot Manager
Boot0002* Salix-XFCE
Boot0004* Salix
The -B argument deletes the specified boot entry and the -b argument specifies which boot number
Now generate a new menu entry using the correct with the appropriate arguments to register the Salix install. Here the structure of the command:
efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\newloader\\loadername.efi -L NewLoader where
-c create a new bootmenu item
-d the disk containing the loader ESP partition (in this case /dev/sda)
-p the ESP partition number (in this case 1)
-l the loader path (in this case \\EFI\\Salix\\elilo.efi)
-L the Label (in this case Salix)
So assuming that the ESP is on /dev/sda1 and efi directory is name Salix then your command should look like this
Code: Select all
efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\Salix\\elilo.efi -L Salix
Hopefully, giving the correct information you should get a menu entry that will boot Salix.