[syslinux] extlinux troubles....

Ady Ady ady-sf at hotmail.com
Fri Nov 9 04:58:57 PST 2018


> Hello List Members,
> 
> I have a machine that has used extlinux to boot for many years, but
> the hard disk needs to be replaced.  I got a new hard disk and
> installed it in my system.  The old disk is /dev/sda, and the new one
> is /dev/sdb.  I'm using GPT partitioning, and I did (after a day)
> finally get the legacy bootable flag set on /dev/sdb for the boot
> partition /dev/sda1.  I then formatted out the /dev/sdb partitions and
> copied all the data from /dev/sda to /dev/sdb.  So far, so good.
> 
> It appears, however, to be impossible (for me) to install extlinux
> from /dev/sda to /dev/sdb and then remove the old disk and boot the
> new one as /dev/sda.
> 
> Surely it must be possible, but it comes up with a message telling me
> it cannot find the config file and that DEFAULT and UI are not set.
> If I try typing in stuff at the 'boot:' prompt, nothing really works.
> It shows a version banner once before the error about the config file,
> but says SYSLINUX instead of EXTLINUX, it's in text mode, and
> basically it cannot access the /boot partition where everything is.  I
> tried every combination of path to the kernel I could think of (it's
> really in /boot/vmlinuz-4.19) without success.  I tried both
> extlinux.conf and syslinux.conf names but it just doesn't find them.
> 
> If I put the old disk back in, reboot the machine from the old disk,
> mount the new disk, everything is there.  I tried mounting directly
> and installing extinux, and also mounting through a loopback device
> and installing extlinux, but it always says /dev/sdb in the message
> when I run the extlinux utility, and I wonder if the poor software
> somehow just doesn't "adapt" to being /dev/sda once the old /dev/sda
> is removed.  It seems like it's hard-coded itself to only work if it
> is /dev/sdb, and it won't be that when it's the only hard disk.
> 
> Clearly I'm doing it wrong.  I tried for days hunting with search
> engines but couldn't find anything.  Everybody was booting on USB or
> DVD and installing extlinux on a drive that was /dev/sda (or /dev/hda
> for some old posts).  Do I really have to build and burn a bootable
> DVD just to install extlinux (by ensuring the new drive really is
> /dev/sda at the time I run extlinux)?
> 
> My old boot system does not use an initrd, and since I copied
> everything from that disk, I believe the kernel, modules, firmware,
> etc. should all be fine.
> 
> I hope somebody on this list has done this before and can tell me what
> I need to do to get this working.  It is syslinux version 4.07 if that
> matters.
 
>From your description, several minor (yet, important) details are probably slightly 
wrong. They are either typos in your description, or you just wrote "in a rush" (without 
paying so much attention to some of the details you were writing about), or you are 
actually mixing up things (e.g. "sda" vs. "sda1", or "syslinux.cfg" vs. "extlinux.conf").

So, here are some questions for you...

0_ You mentioned that you copied from one HDD to the other. Was this action performed 
after you installed the bootloader in your new HDD, or was it performed before it? Which 
kind of transfer did you perform, from the "whole sda to sdb", or from "file to file", or 
from one filesystem volume to another (e.g. sda1 to sdb1)?

1_ Which filesystem did you use to format "sdb1"? Which specific version of the relevant 
"mkfs" command have you used? Could you post the exact complete command?

2_ Would you please provide the size of sdb1?

3_ When you say that you set the boot flag, would you please post the exact command / 
steps you used in order to achieve it?

4_ Which _exact_ commands did you use in order to install the bootloader? What about the 
command for gpt.bin?

5_ Would you please double-check the _exact_ name of your configuration file, and its 
exact location (i.e. partition and complete path)? Would you please also provide the 
exact location and name of your kernel(s)? To be clear, I am not asking about the paths 
you might be using when mounting filesystems within your current OS, but the paths in 
relation to the root of the volume where you are attempting to install the bootloader and 
in which you should put your kernel(s).

6_ You mentioned GPT. Are you sure you are booting in BIOS mode?



Finally, you say you have read about other scenarios. Have you actually checked the 
official Syslinux wiki? The "Install" page comes to mind as a relevant target, among 
others.

Regards,
Ady.



More information about the Syslinux mailing list