0

Here is the prologue:

I just purchased a new tablet, called Wintron 10.1, made by trekstor. It is shipped with a solded 32 GB ssd-similar harddrive and preinstalled Windows 8.1-Bing. I already have an encrypted thumbdrive, which I created some years ago, it runs the Kali-Linux-Os. This kali is not uefi-compatible, as I created it at a time, where kali in general lacked support for efi. All updates since then did not took uefi into account at all, though it should be bleeding edge because I use it frequently and try to maintain very well. Booting from this thumbdrive is ONLY possible in legacy-bios systems, and MAYBE, on systems with UEFI, where this is simply disabled.

Here is my intention:

I want to modify my installed kali on the thumbdrive, so that it can be plugged into legacy-bios systems AND UEFI systems, and it should simply boot both of them up, like it does now, for legacy-systems.

Here is, what perhaps is not obvious:

The new tablet has a uefi-system, which is 32 Bit. I will refer to this later.

Here is, what I have done:

  1. I tested, if my thumbdrive would allow to boot an uefi-system. --> Though it seemed, that USB ist the first boot-device to use, it did not boot. I used the uefi-file-browser with the built-in-dialog "boot from a file", which could not detect any file ( because none existed with the suffix .efi ) --> I decided to ALWAYS boot from the browser for the future since then.
  2. I verified, that secure boot is off, restarted, no success
  3. I informed myself in the web
  4. I restarted with another usb-stick, in order to get to the installation process from an usb-drive, also to get familiar with uefi-stuff (to shorten this down, also, refer to this link
    https://forums.kali.org/archive/index.php/t-271.html )
  5. Therefore I downloaded the latest kali-iso_64-bit and dumped it as an iso simple to the thumbdrive (dd if=this of=that)
  6. I created the EFI-Folder, inside the EFI-folder the folder boot
  7. Because of an 32bit uefi bios, this was my choice for the efi file https://github.com/jfwells/linux-asus-t100ta/blob/master/boot/bootia32.efi
  8. I then created the grub-script mentioned in the link in step 4
  9. Rebooted, went into UEFI File browser, selected the proper efi file, AND

tadaa:

was dropped into a minimal grub shell. Something like 2.0.2 (beta). Damn problem: If I issue the commands linuxefi or initrdefi, grub prompts, not to know them.

Neither linux /a_path_to/vmlinuz nor kernel /a_path_to/vmlinuz seem to work, because after I issue "boot" I always get the message: Error: You need to load the kernel first in Grub. (Yes, I did root=(hda0,1)

If the kernel images were not found, grub would have reported it.

Ok, did the same stuff with an ubuntu64-iso, replaced also the bootXXX.efi with my 32 bit one, and i could get into graphical choice of what to do, without being kicked into a minimal grub-beta-shell.

Here are my questions:

  1. Is it in general possible to extend/modify my thumbdrive or create one which can boot into uefi and non uefi-systems ?
  2. Where can I start troubleshooting my kali-grub-boot-issue ? I need to know, which/whose grub shell this can be. Perhaps some built-in into bootia32.efi grub, or the one in kali's /boot/grub, whatsoever
  3. Why is there appearently ONLY one bootia32.efi on the whole web? Are 32 bit uefi's that unlikely to be used ?
  4. Please confirm, that the bitness of the OS does not define the bitness of the EFI files to be used, nor does the bitness of the os depend on the bitness of the uefi-system (and .efi file)
1

I've managed to make Kali live work in the UEFI system. I wrote an article on how I did on my blog, hoping to help the many people that like you cannot boot it: Kali linux live on UEFI with persistence

You basically need to:

  1. Create /EFI/BOOT/ folder on the root of your USB drive and put BOOTx64.EFI and grubx64.efi into it.
  2. Create grub.cfg in /boot/grub with this content:

    set menu_color_normal=white/black
    set menu_color_highlight=black/light-gray
    
    menuentry "Kali Live" {
     set gfxpayload=keep
     linux /live/vmlinuz boot=live username=root hostname=kali
     initrd /live/initrd.img
    }
    menuentry "Kali Failsafe" {
     set gfxpayload=keep
     linux /live/vmlinuz boot=live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal
     initrd /live/initrd.img
    }
    menuentry "Kali Live forensics" {
     set gfxpayload=keep
     linux /live/vmlinuz boot=live noconfig=sudo username=root hostname=kali noswap noautomount
     initrd /live/initrd.img
    }
    menuentry "Kali Live persistence" {
     set gfxpayload=keep
     linux /live/vmlinuz boot=live noconfig=sudo username=root hostname=kali persistence
     initrd /live/initrd.img
    }
    menuentry "Kali Live persistence encrypted" {
     set gfxpayload=keep
     linux /live/vmlinuz persistent=cryptsetup persistence-encryption=luks noconfig=sudo username=root hostname=kali persistence
     initrd /live/initrd.img
    }
    

You can download the needed files, ready-to-use, from my blog.

Even if I didn't test this, It should also work on legacy BIOS systems, since the isolinux configuration (which Kali live uses to boot) will be still there after the described procedure.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.