home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.os.linux      Getting to be as bloated as Windows!      107,822 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 106,708 of 107,822   
   Carlos E.R. to bad sector   
   Re: migrating existing desktop to EFI bi   
   16 Dec 24 14:39:35   
   
   From: robin_listas@es.invalid   
      
   On 2024-12-15 03:52, bad sector wrote:   
   >   
   > Since Intel have decided to fianally kill legacy BIOS in 2025 I have no   
   > choice left. Knowing this day would come I've already created an EFI #1   
   > partition, formatted with   
   >   
   > # mkfs.fat -F 32 /dev/sda1   
   >   
   >   
   > The current OS partitions are 10-17   
   >   
   > Device          Start        End   Sectors  Size Type   
   > /dev/sda1        2048    2099199   2097152    1G EFI System   
   > /dev/sda2  1348483072 1350580223   2097152    1G BIOS boot   
   > /dev/sda3     4196352   16779263  12582912    6G Linux swap   
   > /dev/sda4    16779264   16781311      2048    1M Linux   
   filesystem   
   > /dev/sda5    16781312   16783359      2048    1M Linux   
   filesystem   
   > /dev/sda6    16783360   16785407      2048    1M Linux   
   filesystem   
   > /dev/sda7    16785408   16787455      2048    1M Linux   
   filesystem   
   > /dev/sda8    16787456   16789503      2048    1M Linux   
   filesystem   
   > /dev/sda9    16789504   16791551      2048    1M Linux   
   filesystem   
   > /dev/sda10   16791552  593508351 576716800  275G Linux filesystem   
   > /dev/sda11  593508352  761280511 167772160   80G Linux filesystem   
   > /dev/sda12  761280512  929052671 167772160   80G Linux filesystem   
   > /dev/sda13  929052672 1096824831 167772160   80G Linux filesystem   
   > /dev/sda14 1096824832 1264596991 167772160   80G Linux filesystem   
   > /dev/sda15 1350580224 1518352383 167772160   80G Linux filesystem   
   > /dev/sda16 1518352384 1686124543 167772160   80G Linux filesystem   
   > /dev/sda17 1686124544 1853896703 167772160   80G Linux filesystem   
      
   Get better information this way (one line):   
      
   lsblk --output   
   NAME,KNAME,RA,RM,RO,PARTFLAGS,SIZE,TYPE,FSTYPE,LABEL,PARTLABEL,P   
   TYPE,MOUNTPOINT,UUID,PARTUUID,WWN,MODEL,ALIGNMENT   
      
      
   >   
   > My current motherboard supports Legacy BIOS only but I'm getting a new   
   > board that supports EFI (only I think). How do I get the new motherboard   
   > started up using my existing boot disk above?   
      
   There is an important detail missing: what distribution are you using?   
      
   [...]   
      
   Reading further ahead in the thread I find that it is openSUSE Tumbleweed.   
      
   Then the EFI partition is mounted on /boot/efi, and it has this structure:   
      
      cer@Telcontar:~> tree -d /boot/efi   
      /boot/efi   
      ├── EFI   
      │   ├── auxiliary   
      │   ├── boot   
      │   └── main-os   
      └── quitados   
          ├── boot   
          ├── main_opensuse   
          └── no_opensuse   
      
      8 directories   
      cer@Telcontar:~>   
      
   Ignore "quitados", that's and old one I removed manually.   
      
   The directories there each reflect one operating system, and they are   
   arbitrary.   
      
   What I would do is install first a small opensuse system on your new   
   machine, for the purpose of having a running system and seeing how it   
   does things.   
      
   The default name of the directory under EFI is "opensuse" (if memory   
   serves). It uses that name for all installs, so they overwrite one   
   another. So you have to change the name. The name is defined in file   
   /etc/default/grub, variable "GRUB_DISTRIBUTOR":   
      
      # If you change this file, run 'grub2-mkconfig -o   
   /boot/grub2/grub.cfg' afterwards to update   
      # /boot/grub2/grub.cfg.   
      
      # Uncomment to set your own custom distributor. If you leave it unset   
   or empty, the default   
      # policy is to determine the value from /etc/os-release   
      GRUB_DISTRIBUTOR="main-os"   
      
      
   Once you edit the name there, do what the comments above say. There is a   
   second step needed, "mkinitrd", but the utility has been deprecated and   
   is missing in Tumbleweed. The equivalent concoction I have been told it is:   
      
      dracut -f --regenerate-all --logfile /var/log/YaST2/mkinitrd.log   
      update-bootloader --refresh   
      
      
   What I would do, though, is start up yast (text) or yast2 (graphical),   
   go to "System/Boot Loader" and in the section "Bootloader Options"   
   change the "Timeout in Seconds" onse second up or down, and tap the "Ok"   
   button. This trick forces YaST to write up, refresh, the entire boot   
   system files.   
      
   Then verify the name   
      
      tree -d /boot/efi   
      
   Verify by rebooting. You will see that the name you created is used in   
   the grub menu.   
      
   WARNING: Not every char is accepted here, and I don't know the rules. My   
   computer accepts "-" but not "_", go figure. The errors are strange and   
   misleading.   
      
      
      
      
   Clone your old computer to the new one. You can use this small system to   
   create the partitions and rsync them, for instance.   
      
      
   Now, what I would do to boot your cloned system is to   
   mount its "/", /boot (if it exists as separate partition) and /boot/efi   
   partitions somewhere, say "/new", then chroot to that /new partition.   
   Before issuing the chroot command, do:   
      
      mount --bind /proc /new/proc   
      mount --bind /sys  /new/sys   
      mount --bind /dev  /new/dev   
      
      chroot /new   
      yast   
      
   Verify:   
      
      :~# grep GRUB_DISTRIBUTOR  /etc/default/grub   
      GRUB_DISTRIBUTOR="opensuse"   
      :~ #   
      
      
   It should say the name of your old system.   
      
      
   Notice that "yast" starts in text mode. Do not try to run the graphical   
   version (yast2). Go to the boot module. Under the tab "Boot Code   
   Options", change the "Boot loader" to "Grub2 for EFI".   
      
   And that's it.   
      
   Check that every other option is correct. I did this years ago, so I am   
   not fully sure there is something else to change, but basically that's all.   
      
   Press OK, exit the chroot, and reboot.   
      
      
   If there are errors, correct them as appropriate. I use Leap, not   
   Tumbleweed, so there might be some differences.   
      
      
      
   Notice that it is important that you follow the SUSE way of doing   
   things, or you will have problems any time you run updates that touch   
   the kernel or the boot system.   
      
      
   I would recommend you change the name of the system (GRUB_DISTRIBUTOR)   
   to something else, like tumbleweed.   
      
   --   
   Cheers, Carlos.   
      
   --- SoupGate-DOS v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca