- Multi загрузочная флешка
- Заметки (всяко-разно)
- MemTest86
- Полезные ссылки
- Подробное описание
- Возможности MemTest86
- Создание загрузочного USB-носителя MemTest86 в Windows
- Создание загрузочного USB-носителя MemTest86 в macOS
- Создание загрузочного USB-носителя MemTest86 в Linux
- Как скачать MemTest86
- Download
- Documentation
- Notes
- Creating a boot disk in Windows.
- System requirements
- Older Versions
- MemTest86 Technical Information
- Booting MemTest86 USB on Mac
Multi загрузочная флешка
Я делал на флешке 8 GB, но это способ может быть применен на любой. В конце мы получим флешку состоящую из трех разделов с GRUB, способную грузиться в любой системе будь то BIOS или UEFI, а один из разделов виден в любой Windows.
Работаем в любом Linux, желательно Arch :).
Итак. Берем флешку.
1. Стираем с нее все разделы.
dd if=/dev/zero of=/dev/sdX bs=512 count=1
2. Создаем на флешке GPT таблицу разделов с помощью gdisk (должен быть у вас установлен и чуть-чуть прочитайте как с ним работать) и делаем гибридную MBR.
Создаем разделы по указанному порядку, в скобках перед буквами номера разделов:
а(1). Раздел EFI System — для загрузки в EFI, туда поставим GRUB для UEFI (в gdisk надо сначала сместиться на 162 блок):
— сектора с 162 по 2047
— код EF00
б(2). Раздел для данных. Только он будет виден в Windows. В нем храним iso, файлы GRUB и всё что хотим загрузить с помощью GRUB. Также здесь хранятся просто данные (в gdisk надо сначала сместиться на 2048 блок):
— сектора с 2048 до конца
— код 0700
в(3). Раздел BIOS boot partition — для загрузки на обычном биос, туда поставим GRUB для BIOS:
— сектора с 34 по 161
— код EF02
Делаем гибридную MBR, в ней отображаем только раздел с данными, вводим 2 . На остальные вопросы отвечаем NO .
3. Создаем ФС на соответствующих разделах, в скобках перед буквами номера ранее созданных разделов:
а(1). ФС FAT16
mkfs.ntfs -Q -L VasheName /dev/sdX2
в(3). не форматируем, это специальный раздел .
4. Монтируем соответствующие разделы:
— данные и разные образы, в том числе Арч
5. Устанавливаем ДВА GRUBa по Вики, что бы можно было грузиться везде из любой системы:
а. Для целевых систем с BIOS есть два варианта установки GRUB, в зависимости в какой режиме вы сами сейчас загружены:
grub-install --boot-directory=/mnt/data/boot /dev/sdX
— если вы загружены в BIOS системе.
grub-install --target=i386-pc --recheck --debug --boot-directory=/mnt/data/boot /dev/sdX
— если вы загружены в UEFI системе.
б. Для целевых систем с EFI один вариант установки GRUB, поскольку вы также загружены в этом режиме:
grub-install --boot-directory=/mnt/data/boot --efi-directory=/mnt/efi --target=x86_64-efi --removable
7. Для безопасности создаем файл /mnt/data/boot/grub/grub.cfg и mnt/data/boot/grub/menu.cfg, показываю мои файлы в описании понятно что я могу грузить и что где лежит:
grub.cfg:
## Установка поддержки видео режима insmod vbe # для BIOS insmod efi_gop # для UEFI insmod efi_uga # для UEFI ## Загрузка шрифта и загрузка графической среды insmod font if loadfont $/fonts/unicode.pf2 then insmod gfxterm set gfxmode=auto set gfxpayload=keep set locale_dir=$prefix/locale set lang=ru_RU insmod gettext terminal_output gfxterm fi insmod part_msdos # модуль для распознавания таблицы разделов жесткого диска set default=0 # выбранный пункт по умолчанию set timeout=-1 # здесь время отображения меню значение -1 для отключения таймера ## Настройка цветов set color_normal=white/black set color_highlight=black/white ## Загрузка ArchLinux dir=/images insmod regexp # для шаблонов * в именах файлов probe -s root_uuid -u $root # получаем UUID для подстановки в img_dev= for iso in $dir/archlinux-*-dual.iso ; do # ищем образ(ы) Arch по шаблону if [ ! -f "$iso" ] ; then continue; fi # только если образ существует regexp -s build 'archlinux-(.+)-dual' "$iso" # получаем из имени образа дату сборки for arch in i686 x86_64 ; do # делаем для обеих архитектур menuentry "Arch Linux ISO $build $arch" --source="\ loopback loop $iso probe -s isolabel -l loop linux (loop)/arch/boot/$arch/vmlinuz archisolabel=\$isolabel img_dev=/dev/disk/by-uuid/$root_uuid img_loop=$iso earlymodules=loop initrd (loop)/arch/boot/$arch/archiso.img" done done ## Загрузка ArchBang submenu "ArchBang" < probe -s root_uuid -u $root menuentry "ArchBang_x86_64" < set isofile="/images/archbang_x86_64.iso" loopback loop1 $isofile #probe -s isolabel1 -l loop1 linux (loop1)/arch/boot/x86_64/vmlinuz archisolabel=ARCHBANG img_dev=/dev/disk/by-uuid/$root_uuid img_loop=$isofile earlymodules=loop1 initrd (loop1)/arch/boot/x86_64/archiso.img >menuentry "ArchBang_i686" < set isofile="/images/archbang_i686.iso" loopback loop2 $isofile #probe -s isolabel2 -l loop2 linux (loop2)/arch/boot/i686/vmlinuz archisolabel=ARCHBANG img_dev=/dev/disk/by-uuid/$root_uuid img_loop=$isofile earlymodules=loop2 initrd (loop2)/arch/boot/i686/archiso.img >> ## Загрузка Evolution menuentry "Evolution-64bit" < set isofile="/images/evolution_64bit.iso" loopback loop3 $isofile probe -s isolabel3 -l loop3 linux (loop3)/arch/boot/x86_64/vmlinuz archisolabel=Evolution-201503-64bit img_dev=/dev/disk/by-uuid/$root_uuid img_loop=$isofile #earlymodules=loop3 initrd (loop3)/arch/boot/x86_64/archiso.img >## Загрузка Parted Magic submenu "Parted Magic" < set default_settings="edd=on vga=normal" set live_settings="boot=live eject=no" set linux_64="/pmagic/bzImage64" set linux_32="/pmagic/bzImage" set default=2 menuentry "Parted Magic Live_64"< set isofile="/images/pmagic_2015_05_04.iso" loopback loop4 $isofile linux (loop4)$linux_64 $default_settings $live_settings initrd (loop4)/pmagic/initrd.img (loop4)/pmagic/fu.img (loop4)/pmagic/m64.img >menuentry "Parted Magic Live_32" < set isofile="/images/pmagic_2015_05_04.iso" loopback loop4 $isofile linux (loop4)$linux_32 $default_settings $live_settings initrd (loop4)/pmagic/initrd.img (loop4)/pmagic/fu.img (loop4)/pmagic/m32.img >> ## Загрузка Runtu submenu "Runtu" < set default_settings="locale=ru_RU.UTF-8 console-setup/layoutcode=ru noeject noprompt --" menuentry "Runtu Lite" < set live_media_path=/boot/runtu/lite linux $live_media_path/vmlinuz boot=casper live-media-path=$live_media_path $default_settings initrd $live_media_path/initrd.lz >menuentry "Runtu XFCE" < set live_media_path=/boot/runtu/xfce linux $live_media_path/vmlinuz boot=casper live-media-path=$live_media_path $default_settings initrd $live_media_path/initrd.lz >> ## Загрузка Memtest86 submenu "Memtest86+" < menuentry "Memtest86+ 32_v2" < linux16 /boot/memtest/memtest.bin >menuentry "Memtest86+ 64 UEFI" < archroot=$root regexp -s root '\((.+)\)' "$cmdpath" chainloader ($archroot)/boot/memtest/BOOTX64.EFI >> ## Загрузка Plop menuentry "Plop Boot Manager" < linux16 /boot/plpbt.bin >## Перезагрузка компьютера menuentry "System restart" < echo "System rebooting. " reboot >## Выключение компьютера menuentry "System shutdown"
8. Копируем;
— установочный образы арча и других систем в /mnt/data/images/
— файлы Memtest в /mnt/data/boot/memtest/
— файлы Ploop в /mnt/data/boot/
— и т.д.
9. Можно накидать любых образом и систем, главное правильно прописать их загрузку в menu.cfg 🙂
Все размонтируем. Готово! Всем удачи .
P.S. Я наконец сделал чего мне так давно не хватало — загрузку и из BIOS и из UEFI .
Заметки (всяко-разно)
Как найти, где в /dev ваша флешка задача вроде тривиальная, посему описывать ее не буду, но будьте внимательны, ошибочное применение данных команд к разделам ваших дисков может лишить вас ценной информации. В моем случае флешка это /dev/sdd
Установка необходимых пакетов:
# aptitude install syslinux lilo
в debian по умолчанию используется загрузчик grub, lilo хотело настроиться, но после нажатия OK выдало
Настраивается пакет lilo (1:22.8-7) .
WARNING: kernel & initrd not found in the root directory (/vmlinuz & /initrd.img)
WARNING: Do NOT reboot or LILO may fail to boot if your kernel+initrd is large.
WARNING: Please read /usr/share/doc/lilo/README.Debian
система у нас по прежнему грузиться grub, но есть нужный нам lilo
Подготавливаем флешку
я использовал
cfdisk /dev/sdd
чтобы создать основной(primary) раздел fat16 с флагом boot
но можно и так
fdisk /dev/sdd
n — p — 1 [enter, enter]
a — 1
t — 6
w
форматируем раздел в fat (команды применяется к созданному нами разделу sdd1)
видим там файл ldlinux.sys
создаем файл syslinux.cfg
с текстом
default memtest
label memtest
kernel memtest
копируем скачанный ранее мемтест, переименовывая его в memtest
cp memtest86+-xxx.bin /mnt/memtest
пишем корpектный mbr (команда применяется к устройству, а не разделу)
зы полезность сего — использование свежего memtest, тот что есть в debian lenny на новых BIOS любит выдавать
memtest86+: wouldn’t fit into memory
проблема описана там там
MemTest86
Примечание. Для запуска MemTest86 на компьютерах и ноутбуках без поддержки UEFI, или для запуска программы с загрузочного компакт диска используйте MemTest86 версии 4.3.7.
Полезные ссылки
Подробное описание
MemTest86 — бесплатная программа, позволяющая проверить оперативную память компьютера или ноутбука на наличие ошибок и проблем в работе. MemTest86 запускается с загрузочного USB носителя и выполняет полную проверку работоспособности ОЗУ.
Новые версии MemTest86 работают в режиме UEFI и имеют поддержку 64-bit, что обеспечивает дополнительные возможности тестирования и поддержку новейшего оборудования и модулей памяти.
Программа MemTest86 является популярным инструментом для тестирование оперативной памяти. С 1994 года её используют системные администраторы, компьютерные мастера и простые пользователи.
Возможности MemTest86
- Загрузка с USB-накопителей.
- 13 различных алгоритмов тестирования.
- Поддержка модулей DDR2, DDR3 и DDR4.
- Поддержка UEFI.
- Графический интерфейс и поддержкой мыши.
- Создание файла с отчётом.
- Базовая информация из SPD.
- Pro DDR/EPP/XMP информация из SPD.
- Pro 64-bit/SIMD тесты.
- Pro Файлы конфигурации для автоматизации тестирования.
Создание загрузочного USB-носителя MemTest86 в Windows
- Скачайте и распакуйте архив с MemTest86.
- Подключите USB-накопитель.
- Запустите приложение ImageUSB.
- Выберите свой USB-накопитель из списка (поле Step 1).
- Выберите пункт «Write image to USB» (поле Step 2).
- Укажите путь к файлу memtest86-usb.img, если он не был определён автоматически (поле Step 3).
- Нажмите кнопку «Write» (поле Step 4).
- Подтвердите очистку USB-накопителя и дождитесь завершения записи.
Создание загрузочного USB-носителя MemTest86 в macOS
- Скачайте и распакуйте архив с MemTest86.
- Подключите USB-накопитель.
- Определите, название устройства USB-накопителя, открыв Терминал и введя команду: diskutil list .
- Размонтируйте все тома на USB-накопителе, введя команду: diskutil unmountDisk [имя устройства] .
- Введите команду «dd» от имени пользователя root для записи образа на USB-накопитель. Например: sudo dd if=memtest86-usb.img of=[USB устройство] , где [USB устройство] — путь к устройству, например /dev/disk1 .
Создание загрузочного USB-носителя MemTest86 в Linux
- Скачайте и распакуйте архив с MemTest86.
- Подключите USB-накопитель.
- Определите, какому устройству назначен USB-накопитель (например, /dev/sdc).
- Введите команду «dd» от имени пользователя root для записи образа на USB-накопитель. Например: sudo dd if=memtest86-usb.img of=[USB устройство] , где [USB устройство] — путь к устройству, например /dev/sdc .
Как скачать MemTest86
Перейдите на страницу загрузки и выберите версию для вашего устройства.
Download
* Once the purchase has been completed, a download link shall be provided that will contain the files needed to create your own bootable media.
A pre-installed MemTest86 Pro USB Drive is available on our Pricing Page
A site license is also available, for unlimited use of the software in a company, on our Pricing Page
Documentation
Notes
- IMPORTANT: MemTest86 V10.5 images support only UEFI boot. On machines that don’t support UEFI, MemTest86 will not boot. Please download the older V4 BIOS release of MemTest86 instead.
- Installation and usage instructions are available on the Technical Information page
- MemTest86 is a stand-alone program that does not require or use any operating system for execution. The version of Windows, Linux, or Mac being used is irrelevant for execution. However, you must use either Windows, Linux or Mac to create a bootable USB drive.
Creating a boot disk in Windows.
Right-click to download, MP4 format, 9MB
System requirements
x86 (32/64-bit) or ARM64 based hardware
UEFI platform firmware
Windows, Linux, or Mac OS
USB Flash Drive (> 1GB capacity)
Older Versions
As MemTest86 V10.5 supports only the newer UEFI platform, older PCs without UEFI support would be unable to boot MemTest86. In order to run MemTest86, PCs with legacy BIOS platform must use the older V4 release of MemTest86. The download links for the V4 downloads are still provided for those that prefer to work with the V4 bootable images.
V4 Windows Downloads: | Download |
Image for creating bootable CD | Download |
Image for creating bootable USB Drive | Download |
Image for creating bootable Floppy Drive | Download |
V4 Linux/Mac Downloads: | Download |
Image for creating bootable CD | Download |
Image for creating bootable USB Drive | Download |
Image for creating bootable Floppy Drive | Download |
MemTest86 Technical Information
Problem and bug reporting
Creating a MemTest86 bootable USB Flash drive in Linux/Mac
- Download the current Memtest86 package as a Zip file from this page.
- Unzip the file. Inside the Zip there is a «disk image» file. For the free edition of MemTest86, this file is called, memtest86-usb.img
- Insert a USB flash drive into a USB slot. It needs to be at least 512MB in size.
**WARNING** The contents will be overwritten in the next steps. - Determine which device the USB drive is assigned as by opening the Terminal and typing the following command. Double-check to make sure you have the correct drive. On Linux:
lsblk -p -o NAME,VENDOR,MODEL,SIZE,TYPE,SERIAL
NAME VENDOR MODEL SIZE TYPE SERIAL /dev/sda VMware, VMware_Virtual_S 80G disk ├─/dev/sda1 512M part ├─/dev/sda2 1K part └─/dev/sda5 79.5G part /dev/sdb Lexar JumpDrive 15G disk AASNGKKA04EW2GXD ├─/dev/sdb1 255M part ├─/dev/sdb2 256M part └─/dev/sdb3 512M part /dev/sr0 NECVMWar VMware_Virtual_SATA_CDRW_Drive 1024M rom 01000000000000000001
On Mac:
diskutil list
sudo umount ?*
In the example above the device name is /dev/sdbOn Mac:
diskutil unmountDisk
In the example above the device name is /dev/disk2
sudo dd if= of= where:
is the device the USB key is assigned to. Use the base device (ie. /dev/disk2) not a partition designation (ie. /dev/disk2s1).
is the file path for the input image file. (E.g: ~/Downloads/memtest86-usb.img)**WARNING** All data on the USB key will be lost**FINAL WARNING** Make sure that the device used in the dd command above is correct. The consequence of picking the wrong drive are potentially disastrous, such as total and complete data loss from your hard drive.
Booting MemTest86 USB on Mac
When booting, you need to hold down the ALT / Option key on the Mac keyboard while powering on the machine to boot from USB.
On newer Macs from 2019(*) with the Apple T2 Security Chip, you may need to change the SecureBoot settings for MemTest86 to boot. Please see the following page for instructions: https://support.apple.com/en-us/HT208330
- iMac introduced in 2020
- iMac Pro
- Mac Pro introduced in 2019
- Mac Mini introduced in 2018
- MacBook Air introduced in 2018 or later
- MacBook Pro introduced in 2018 or later