Вопрос или проблема
Я пытался настроить Core Linux для загрузки в режиме UEFI, но он работает только в режиме совместимости, и я не знаю, с чего начать. Я пробовал скопировать EFI из установки Ubuntu Server, но просто загрузился в оболочку UEFI.
Дерево выглядит так:
Core
├───boot
│ │ core.gz
│ │ vmlinuz
│ │
│ └───grub
│ │ efi.img
│ │ font.pf2
│ │ grub.cfg
│ │ loopback.cfg
│ │
│ └───x86_64-efi
│ acpi.mod
│ adler32.mod
│ ahci.mod
│ all_video.mod
│ aout.mod
│ appleldr.mod
│ archelp.mod
│ ata.mod
│ at_keyboard.mod
│ backtrace.mod
│ bfs.mod
│ bitmap.mod
│ bitmap_scale.mod
│ blocklist.mod
│ boot.mod
│ bsd.mod
│ bswap_test.mod
│ btrfs.mod
│ bufio.mod
│ cat.mod
│ cbfs.mod
│ cbls.mod
│ cbmemc.mod
│ cbtable.mod
│ cbtime.mod
│ chain.mod
│ cmdline_cat_test.mod
│ cmp.mod
│ cmp_test.mod
│ command.lst
│ cpio.mod
│ cpio_be.mod
│ cpuid.mod
│ crc64.mod
│ crypto.lst
│ crypto.mod
│ cryptodisk.mod
│ cs5536.mod
│ ctz_test.mod
│ date.mod
│ datehook.mod
│ datetime.mod
│ disk.mod
│ diskfilter.mod
│ div.mod
│ div_test.mod
│ dm_nv.mod
│ echo.mod
│ efifwsetup.mod
│ efinet.mod
│ efi_gop.mod
│ efi_uga.mod
│ ehci.mod
│ elf.mod
│ eval.mod
│ exfat.mod
│ exfctest.mod
│ ext2.mod
│ f2fs.mod
│ fat.mod
│ fdt.lst
│ file.mod
│ fixvideo.mod
│ font.mod
│ fs.lst
│ gcry_arcfour.mod
│ gcry_blowfish.mod
│ gcry_camellia.mod
│ gcry_cast5.mod
│ gcry_crc.mod
│ gcry_des.mod
│ gcry_dsa.mod
│ gcry_idea.mod
│ gcry_md4.mod
│ gcry_md5.mod
│ gcry_rfc2268.mod
│ gcry_rijndael.mod
│ gcry_rmd160.mod
│ gcry_rsa.mod
│ gcry_seed.mod
│ gcry_serpent.mod
│ gcry_sha1.mod
│ gcry_sha256.mod
│ gcry_sha512.mod
│ gcry_tiger.mod
│ gcry_twofish.mod
│ gcry_whirlpool.mod
│ geli.mod
│ gettext.mod
│ gfxmenu.mod
│ gfxterm.mod
│ gfxterm_background.mod
│ gfxterm_menu.mod
│ gptsync.mod
│ grub.cfg
│ gzio.mod
│ halt.mod
│ hashsum.mod
│ hdparm.mod
│ help.mod
│ hexdump.mod
│ hfs.mod
│ hfsplus.mod
│ hfspluscomp.mod
│ http.mod
│ iorw.mod
│ jfs.mod
│ jpeg.mod
│ keylayouts.mod
│ keystatus.mod
│ ldm.mod
│ legacycfg.mod
│ legacy_password_test.mod
│ linux.mod
│ linux16.mod
│ linuxefi.mod
│ loadbios.mod
│ loadenv.mod
│ loopback.mod
│ ls.mod
│ lsacpi.mod
│ lsefi.mod
│ lsefimmap.mod
│ lsefisystab.mod
│ lsmmap.mod
│ lspci.mod
│ lssal.mod
│ luks.mod
│ lvm.mod
│ lzopio.mod
│ macbless.mod
│ macho.mod
│ mdraid09.mod
│ mdraid09_be.mod
│ mdraid1x.mod
│ memrw.mod
│ minicmd.mod
│ minix2.mod
│ minix2_be.mod
│ minix3.mod
│ minix3_be.mod
│ minix_be.mod
│ mmap.mod
│ moddep.lst
│ morse.mod
│ mpi.mod
│ msdospart.mod
│ multiboot.mod
│ multiboot2.mod
│ mul_test.mod
│ nativedisk.mod
│ net.mod
│ newc.mod
│ ntfs.mod
│ ntfscomp.mod
│ odc.mod
│ offsetio.mod
│ ohci.mod
│ partmap.lst
│ parttool.lst
│ parttool.mod
│ part_acorn.mod
│ part_amiga.mod
│ part_apple.mod
│ part_bsd.mod
│ part_dfly.mod
│ part_dvh.mod
│ part_gpt.mod
│ part_msdos.mod
│ part_plan.mod
│ part_sun.mod
│ part_sunpc.mod
│ password.mod
│ password_pbkdf2.mod
│ pata.mod
│ pbkdf2.mod
│ pbkdf2_test.mod
│ pcidump.mod
│ pgp.mod
│ play.mod
│ png.mod
│ priority_queue.mod
│ probe.mod
│ procfs.mod
│ progress.mod
│ raid5rec.mod
│ raid6rec.mod
│ random.mod
│ rdmsr.mod
│ read.mod
│ reboot.mod
│ regexp.mod
│ reiserfs.mod
│ relocator.mod
│ romfs.mod
│ scsi.mod
│ serial.mod
│ setjmp.mod
│ setjmp_test.mod
│ setpci.mod
│ shift_test.mod
│ shim_lock.mod
│ signature_test.mod
│ sleep.mod
│ sleep_test.mod
│ smbios.mod
│ spkmodem.mod
│ squash4.mod
│ strtoull_test.mod
│ syslinuxcfg.mod
│ terminal.lst
│ terminal.mod
│ terminfo.mod
│ test.mod
│ testload.mod
│ testspeed.mod
│ test_blockarg.mod
│ tftp.mod
│ tga.mod
│ time.mod
│ tpm.mod
│ tr.mod
│ trig.mod
│ true.mod
│ udf.mod
│ ufs1.mod
│ ufs1_be.mod
│ ufs2.mod
│ uhci.mod
│ usb.mod
│ usbms.mod
│ usbserial_common.mod
│ usbserial_ftdi.mod
│ usbserial_pl2303.mod
│ usbserial_usbdebug.mod
│ usbtest.mod
│ usb_keyboard.mod
│ verifiers.mod
│ video.lst
│ video.mod
│ videoinfo.mod
│ videotest.mod
│ videotest_checksum.mod
│ video_bochs.mod
│ video_cirrus.mod
│ video_colors.mod
│ video_fb.mod
│ wrmsr.mod
│ xfs.mod
│ xnu.mod
│ xnu_uuid.mod
│ xnu_uuid_test.mod
│ xzio.mod
│ zfscrypt.mod
│ zstd.mod
│
├───EFI
│ └───BOOT
│ BOOTx64.EFI
│ grubx64.efi
│ mmx64.efi
│
└───isolinux
boot.cat
boot.msg
f2
f3
f4
isolinux.bin
isolinux.cfg
Вы загружаете 32-разрядную (x86) версию, которая не работает с UEFI.
Вместо этого скачайте 64-разрядную (x64) версию TinyCore, и она будет работать с UEFI.
Ответ или решение
Для того чтобы загружать Tiny Core Linux в режиме UEFI, необходимо учесть несколько ключевых моментов, особенно учитывая, что вы пытаетесь использовать 32-битную версию системы. UEFI не поддерживает 32-битные операционные системы, поэтому самым первым шагом будет переход на 64-битную версию.
Вот подробные шаги, которые вам нужно выполнить:
-
Скачать 64-битную версию Tiny Core Linux:
Перейдите на официальный сайт и загрузите 64-битную версию Tiny Core Linux. Например, вы можете использовать следующую ссылку: CorePure64-14.0.iso. -
Подготовка загрузочного носителя:
После скачивания ISO-образа, вам необходимо создать загрузочный USB-накопитель. Вы можете использовать такие инструменты, как Rufus (для Windows) илиdd
(для Linux). Убедитесь, что вы выбираете режим UEFI при создании загрузочного носителя. -
Структура директорий:
Убедитесь, что директория EFI на вашем USB-носителе корректно настроена. Дерево директорий должно выглядеть примерно так:EFI └───BOOT BOOTx64.EFI grubx64.efi
Это необходимо для того, чтобы UEFI могла обнаружить и запустить загрузчик.
-
Конфигурация GRUB:
В файле конфигурации GRUB (grub.cfg
), который находится вboot/grub
, убедитесь, что настройки корректны для 64-битного ядра. Например:set timeout=5 set default=0 menuentry "Tiny Core Linux" { linux /boot/vmlinuz quiet initrd /boot/core.gz }
-
Загрузка системы:
Вставьте подготовленный USB-накопитель в компьютер и перезагрузите его. Убедитесь, что в настройках BIOS/UEFI включен режим UEFI и что загрузка происходит с USB-накопителя. -
Тестирование и отладка:
Если вы загрузились в UEFI Shell вместо загрузки Tiny Core Linux, проверьте правильность путей в конфигурационных файлах GRUB и убедитесь, что файлы загрузчика находятся в нужных местах. Иногда может потребоваться протестировать другую версию или сборку загрузчика.
Следуя этим шагам, вы должны успешно настроить Tiny Core Linux для загрузки в режиме UEFI. Убедитесь, что вы используете 64-битную версию, поскольку это критически важно для работы с UEFI. Если у вас есть дополнительные вопросы или проблемы, не стесняйтесь задавать их.