Как установить линукс на флешку. Создание загрузочной флешки Ubuntu.

Видеоинструкция

Предварительные настройки

1) Выполните инструкции по установке libvirt

2) Скачайте iso образ с сайта https://cdimage.ubuntu.com/lubuntu/releases/22.04/release/

Создайте диск

_x000D_cd ~_x000D_mkdir Images_x000D_cd Images

Создайте диск

_x000D_dd if=/dev/zero of=disk.img bs=1M count=12288 conv=fsync status=progress_x000D_

Если в процессе установки выяснилось, что вам нехватает места на диске, то выполните инструкцию по увеличению размера img файла

Создайте виртуальную машину QEMU

Выберите метод установки Локальный ISO или CDROM

Выберите скачанный ISO образ

Установите количество ОЗУ минимум 2Гб и процессоры 2шт

Выберите диск созданный Image файл

Проверьте конфигураию перед запуском VM

Установка ОС

После загрузки, установите ОС через графический установщик и перезагрузитесь

Установка Google Chrome

Добавьте ключ

_x000D_apt-key adv --keyserver keyserver.ubuntu.com --recv 4EB27DB2A3B88B8B_x000D_apt-key export 4EB27DB2A3B88B8B | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/google-chrome.gpg_x000D_

Добавьте репозиторий Google Chrome

_x000D_cat > /etc/apt/sources.list.d/google-chrome.list << EOF_x000D_deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main_x000D_EOF_x000D_

Установите браузер

_x000D_apt-get update_x000D_apt-get install -y google-chrome-stable 

Установка Flatpak

Удалите программы установленные через snap

_x000D_snap remove firefox_x000D_snap remove gtk-common-themes_x000D_snap remove gnome-3-38-2004

Удалите snap

_x000D_apt-get purge snapd firefox

Установите flatpak

_x000D_apt-get install flatpak_x000D_flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Установка Firefox

_x000D_flatpak install flathub org.mozilla.firefox

Установка драйвера Nvidia

Установите nvidia detect

_x000D_apt install -y ubuntu-drivers-common

Запустите тест и узнайте какой у вас драйвер

_x000D_nvidia-detector

Установите последние драйвера nvidia

_x000D_apt install -y nvidia-driver-525 linux-modules-nvidia-525-generic

Зайдите в /etc/modprobe.d/ проверьте есть ли там файл с содержимым «options nvidia-drm modeset=1». Если нет, то создайте его

_x000D_echo 'options nvidia-drm modeset=1' > /etc/modprobe.d/nvidia-drm-nomodeset.conf

Обновите initramfs

_x000D_update-initramfs -u

Перезагрузитесь и проверьте загружен ли модуль nvidia

_x000D_lsmod |grep nvidia

Настройка приветствия

Установите локаль:

_x000D_cat > /etc/profile.d/0.locale.sh << EOF_x000D_LANG="en_US.UTF-8"_x000D_LANGUAGE="en_US:en"_x000D_export LANG_x000D_export LANGUAGE_x000D_EOF_x000D__x000D_cat > /etc/profile.d/0.editor.sh << EOF_x000D_export EDITOR=nano_x000D_EOF_x000D__x000D_echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen_x000D_echo "ru_RU.UTF-8 UTF-8" >> /etc/locale.gen

Откройте файл

_x000D_nano /etc/profile.d/0.welcome.sh

Вставьте текст

_x000D_if [[ `whoami` = "root" ]]; then_x000D_ HILIT="e[0;91m"_x000D_else_x000D_ HILIT="e[0;94m"_x000D_fi_x000D__x000D_HOSTNAME=`hostname`_x000D_PS1="[${HILIT}][u@${HOSTNAME} W]\$ [e[0m]"_x000D_export PS1

Отключите автоматическую вставку скобок в консоли

Добавьте в файл /etc/inputrc строчку

_x000D_set enable-bracketed-paste off

Установка ПО

Подключите зеркало

_x000D_export DEBIAN_MIRROR="http://en.archive.ubuntu.com"_x000D_export DEBIAN_VERSION="jammy"_x000D__x000D_cat > /etc/apt/sources.list << EOF_x000D_deb $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION main universe restricted multiverse_x000D_deb-src $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION main universe restricted multiverse_x000D__x000D_deb $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-updates main universe restricted multiverse_x000D_deb-src $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-updates main universe restricted multiverse_x000D__x000D_deb $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-security main universe restricted multiverse_x000D_deb-src $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-security main universe restricted multiverse_x000D__x000D_deb $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-backports main universe restricted multiverse_x000D_deb-src $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-backports main universe restricted multiverse_x000D_EOF

Обновите ПО

_x000D_apt-get update_x000D_aptitude upgrade -y_x000D_

Установите LXQT

_x000D_apt-get install -y bash-completion bsdmainutils psmisc uuid-runtime _x000D_ htop mc nano curl pv dnsutils sudo man-db anacron iotop preload _x000D_ git cmake g++ openssh-client wget unrar unar zip unzip p7zip-full _x000D_ rar inxi attr libnotify-bin traceroute bridge-utils mtools xfsprogs _x000D_ network-manager rsync dnsmasq python3-pynput network-manager-gnome _x000D_ iptables-persistent net-tools dnsutils linux-base dbus grub-efi _x000D_ grub-efi-amd64-bin grub-efi-ia32-bin grub-pc-bin openntpd python3-pip _x000D_ libnss-nis libnss-nisplus whois flatpak picom xorg xterm xxkb xkbind _x000D_ gxkb openbox sddm sddm-theme-maldives gnome-disk-utility smbclient _x000D_ compton breeze breeze-gtk-theme kde-cli-tools kde-spectacle obconf-qt _x000D_ scrot software-properties-gtk kcalc konsole dolphin dconf-editor _x000D_ gnome-screensaver fonts-noto-core fonts-noto-color-emoji fonts-dejavu _x000D_ xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-kde _x000D_ fonts-freefont-ttf font-manager kitty kcolorchooser vlc ark

Удалите лишние программы

_x000D_apt-get purge apparmor ifupdown resolvconf connman cmst _x000D_ geoclue-2.0 modemmanager xfwm4 xfwm4-theme-breeze obconf _x000D_ xscreensaver gnome-keyring gnome-power-manager gnome-session-bin _x000D_ smplayer nm-tray_x000D_apt autoremove

Очистите кэш

_x000D_apt-get clean all

Установите конфиги

Конфиг Kitty

_x000D_mkdir ~/.config/kitty_x000D_curl -L https://github.com/bayrell-os/lxqt_home/raw/main/src/.config/kitty/kitty.conf > ~/.config/kitty/kitty.conf

Openbox

_x000D_mkdir ~/.config/openbox_x000D_curl -L https://github.com/bayrell-os/lxqt_home/raw/main/src/.config/openbox/rc.xml > ~/.config/openbox/rc.xml

Featherpad

_x000D_mkdir ~/.config/featherpad_x000D_curl -L https://github.com/bayrell-os/lxqt_home/raw/main/src/.config/featherpad/fp.conf > ~/.config/featherpad/fp.conf

Picom

_x000D_curl -L https://github.com/bayrell-os/lxqt_home/raw/main/src/.config/picom.conf > ~/.config/picom.conf

Bash конфиг

_x000D_curl -L https://github.com/bayrell-os/lxqt_home/raw/main/src/.bashrc > ~/.bashrc_x000D_sudo curl -L https://github.com/bayrell-os/lxqt_home/raw/main/src/.bashrc > /root/.bashrc

Настройки панели

_x000D_curl -L https://github.com/bayrell-os/lxqt_home/raw/main/src/.config/lxqt/panel.conf > ~/.config/lxqt/panel.conf

Настройки для скриншота

_x000D_curl -L https://github.com/bayrell-os/lxqt_home/raw/main/src/.config/spectaclerc > ~/.config/spectaclerc

Установите скрипты

_x000D_sudo mkdir /opt/desktop_scripts_x000D_sudo curl -L https://github.com/bayrell-os/desktop_scripts/raw/main/screenshot.sh > /opt/desktop_scripts/screenshot.sh_x000D_sudo curl -L https://github.com/bayrell-os/desktop_scripts/raw/main/brightness.sh > /opt/desktop_scripts/brightness.sh

Добавьте brightness.sh в sudo. Создайте файл

_x000D_nano /etc/sudoers.d/brightness

С содержимым:

_x000D_user ALL = NOPASSWD: /opt/desktop_scripts/brightness.sh

Настройка клавиатуры

Сконфигурируйте раскладку клавиатуры на переключение через Alt+Shift

nano /etc/default/keyboard

_x000D_# KEYBOARD CONFIGURATION FILE_x000D__x000D_# Consult the keyboard(5) manual page._x000D__x000D_XKBMODEL="pc105"_x000D_XKBLAYOUT="us,ru"_x000D_XKBVARIANT=""_x000D_XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"_x000D__x000D_BACKSPACE="guess"

Настройка NetworkManager

Измените настройки /etc/NetworkManager/NetworkManager.conf

_x000D_[main]_x000D_plugins=ifupdown,keyfile_x000D_dns=none_x000D__x000D_[ifupdown]_x000D_managed=false_x000D__x000D_[device]_x000D_wifi.scan-rand-mac-address=no_x000D__x000D_[keyfile]_x000D_unmanaged-devices=*,except:type:ethernet,except:type:wifi,except:type:gsm,except:type:cdma,interface-name:lxc*,interface-name:docker*,interface-name:virtual*,interface-name:veth*_x000D_

Отключите сервисы systemd и avahi

_x000D_systemctl disable systemd-networkd.socket_x000D_systemctl disable systemd-networkd.service_x000D_systemctl disable systemd-resolved.service_x000D_systemctl disable avahi-daemon.service_x000D_systemctl disable avahi-daemon.socket_x000D_

Поменяйте файл /etc/resolv.conf

_x000D_rm -f /etc/resolv.conf_x000D_echo "nameserver 127.0.0.1" > /etc/resolv.conf

Создайте файл /etc/dnsmasq.conf

_x000D_port=53_x000D_#listen-address=0.0.0.0_x000D_no-dhcp-interface=_x000D_bind-interfaces_x000D_expand-hosts_x000D_local-ttl=1_x000D_no-negcache_x000D__x000D_# Динамические настройки DNS_x000D_resolv-file=/run/NetworkManager/resolv.conf_x000D__x000D_# Настройки DNS по умолчанию_x000D_#resolv-file=/etc/resolv.dnsmasq_x000D__x000D_conf-dir=/etc/dnsmasq.d_x000D_cache-size=150_x000D_max-cache-ttl=600_x000D_min-cache-ttl=60_x000D__x000D_# Одновременный запрос ко всем DNS серверам_x000D_# all-servers_x000D__x000D_# Запрещаем резолвить домены без точки (нужно для Docker Swarm)_x000D_domain-needed_x000D__x000D_# Для отладки_x000D_#log-queries

Раскоментируйте строку в файле /etc/default/dnsmasq

_x000D_IGNORE_RESOLVCONF=yes

Выключите резолвер из внешней сети интернет. Создайте файл /etc/dnsmasq.d/disable-external-network

_x000D_bind-interfaces_x000D_except-interface=eth*_x000D_except-interface=enp*_x000D_except-interface=wlan*_x000D_except-interface=wlp*

Создайте файл /etc/NetworkManager/dispatcher.d/99-dnsmasq

_x000D_#!/bin/bash_x000D__x000D_if [[ "$2" = "up" || "$2" = "down" ]]; then_x000D_ kill -9 `cat /var/run/dnsmasq/dnsmasq.pid`_x000D_ sleep 2_x000D_ systemctl start dnsmasq_x000D_fi

Настройка времени

Синхронизация времени

_x000D_cp /etc/openntpd/ntpd.conf /etc/openntpd/ntpd.orig.conf_x000D_echo "servers pool.ntp.org" > /etc/openntpd/ntpd.conf

Установите BFQ

BFQ это диспетчер I/O. Это улучшенная версия, которая позволяет ускорить работу с системой. Подробнее про BFQ

Откройте файл

_x000D_nano /etc/default/grub

В параметр GRUB_CMDLINE_LINUX_DEFAULT нужно добавить строчку scsi_mod.use_blk_mq=1 а также убрать слово quiet

Пример:

_x000D_GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=none scsi_mod.use_blk_mq=1"_x000D_

acpi_backlight — это яркость экрана. Возможные значения:

  • video
  • vendor
  • none

Если яркость экрана не будет меняться, то попробуйте изменить эти параметры, или убрать acpi_backlight=none

Добавить BFQ

_x000D_echo 'bfq' >> /etc/initramfs-tools/modules_x000D_echo 'ACTION=="add|change", KERNEL=="sd*[!0-9]|sr*", ATTR{queue/scheduler}="bfq"' >> /etc/udev/rules.d/60-scheduler.rules

Настройка GRUB

Откройте файл с настройками grub

_x000D_nano /etc/default/grub

Следует установить строки

_x000D_GRUB_DEFAULT=0_x000D_#GRUB_TIMEOUT_STYLE=hidden_x000D_GRUB_TIMEOUT_STYLE=menu_x000D_GRUB_TIMEOUT=5_x000D_GRUB_DISABLE_OS_PROBER=true_x000D_GRUB_DISTRIBUTOR="Live USB Debian"_x000D_#GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`_x000D_GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=none scsi_mod.use_blk_mq=1"_x000D_GRUB_CMDLINE_LINUX=""

Обновите grub

_x000D_update-grub

Настройка iptables

Iptables нужно ставить всегда обязательно. Это фаерволл, который защищает систему он внешних атак. Откройте редактор файла /etc/iptables/rules.v4

_x000D_nano /etc/iptables/rules.v4

Вставьте следующее содержимое:

_x000D_*filter_x000D_:INPUT ACCEPT [19:913]_x000D_:FORWARD ACCEPT [0:0]_x000D_:OUTPUT ACCEPT [39:3584]_x000D_:ALLOW-INPUT - [0:0]_x000D_-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT_x000D_-A INPUT -p icmp -j ACCEPT_x000D_-A INPUT -i lo -j ACCEPT_x000D__x000D_# Разрешаем входящие соединения ssh_x000D_#-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT_x000D__x000D_# Разрешить http_x000D_#-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT_x000D_#-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT_x000D__x000D_# Перейти к цепочке ALLOW-INPUT_x000D_-A INPUT -j ALLOW-INPUT_x000D__x000D_# Запрещаем остальные входящие соединения_x000D_-A INPUT -j REJECT_x000D_-A FORWARD -j REJECT_x000D__x000D_-A ALLOW-INPUT -j RETURN_x000D__x000D_COMMIT

Скопируйте rules.v4 в rules.v6

_x000D_cp /etc/iptables/rules.v4 /etc/iptables/rules.v6

Настройка udisks2

udisks2 отвечает за подключение флешек и разных устройств. Рекомендуется добавить параметр sync для более корректной работы с USB устройствами

Откройте файл

_x000D_nano /etc/udisks2/mount_options.conf

Вставьте содержимое

_x000D_[defaults]_x000D_vfat_defaults=uid=$UID,gid=$GID,shortname=mixed,utf8=1,showexec,flush,sync_x000D_ntfs_defaults=uid=$UID,gid=$GID,windows_names,sync,relatime_x000D_ntfs:ntfs3_defaults=uid=$UID,gid=$GID,windows_names,sync,relatime_x000D_

Установка libssl 1.1

_x000D_cd /src_x000D_wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb

Проверьте md5 сумму. Она должна быть равна 1cd1b6ba2a30a42580c01e92a6278281

_x000D_$ md5sum -b *_x000D_1cd1b6ba2a30a42580c01e92a6278281 *libssl1.1_1.1.1f-1ubuntu2_amd64.deb

Установите libssl

_x000D_dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb

Установка gnome screensaver

Выполните команду

_x000D_cat > /etc/xdg/autostart/lxqt-gnome-screensaver.desktop << EOF_x000D_[Desktop Entry]_x000D_Comment=Screensaver_x000D_Exec=gnome-screensaver_x000D_GenericName=GNOME Screensaver_x000D_Name=GNOME Screensaver_x000D_OnlyShowIn=LXQt;_x000D_TryExec=gnome-screensaver_x000D_Type=Application_x000D_EOF

Установка picom

Выполните команду

_x000D_cat > /etc/xdg/autostart/lxqt-picom.desktop << EOF_x000D_[Desktop Entry]_x000D_Comment=A X compositor_x000D_Exec=picom --backend glx --vsync_x000D_GenericName=X compositor_x000D_Name=Picom (X Compositor)_x000D_OnlyShowIn=LXQt;_x000D_TryExec=compton_x000D_Type=Application_x000D_EOF

Настройка монитора

Выполните команду

_x000D_cat > /etc/xdg/autostart/lxqt-monitor.desktop << EOF_x000D_[Desktop Entry]_x000D_Comment=Monitor Settings_x000D_Exec=sh -c 'sleep 60 && xset dpms 200 200 200 && xset -dpms && xset s off && xset dpms 600 600 600'_x000D_GenericName=Monitor Always ON_x000D_Name=Monitor Always ON_x000D_OnlyShowIn=LXQt;_x000D_Type=Application_x000D_EOF

В Exec должна быть одна кавычка, а не две

Настройка pulseaudio

Если у вас установлен pipewire то делать это не нужно

Создайте файл

_x000D_nano /etc/pulse/default.pa.d/pulse-socket.pa

Пропишите строчку

_x000D_load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse-socket

Отключение автообновлений

Откройте файл /etc/apt/apt.conf.d/20auto-upgrades и установите значение «0» для Unattended-Upgrade

_x000D_APT::Periodic::Unattended-Upgrade "0";

Отключите автозапуск

_x000D_systemctl stop unattended-upgrades_x000D_systemctl disable unattended-upgrades

Прочие настройки

Установите лимиты на размер journalctl и время ожидания запуска сервисов

_x000D_echo "SystemMaxUse=128M" >> /etc/systemd/journald.conf_x000D_echo "DefaultTimeoutStartSec=60" >> /etc/systemd/system.conf_x000D_echo "DefaultTimeoutStopSec=30" >> /etc/systemd/system.conf

Настройка Flatpak

Чтобы курсор во Flatpak приложениях был одинаковым, выполните команды от пользователя:

_x000D_flatpak override --user --filesystem=$HOME/.icons/:ro_x000D_flatpak override --user --filesystem=/usr/share/icons/:ro_x000D_flatpak override --user --filesystem=xdg-config/gtk-3.0:ro_x000D_flatpak override --user --env GTK_USE_PORTAL=1

Скопируйте kde портал

_x000D_cp /usr/share/xdg-desktop-portal/portals/kde.portal /usr/share/xdg-desktop-portal/portals/lxqt.portal

Поменяйте в файле /usr/share/xdg-desktop-portal/portals/lxqt.portal последнюю строку

_x000D_UseIn=LXQt

Создайте файл

_x000D_nano /etc/xdg/autostart/lxqt-portals.desktop

с содержимым

_x000D_[Desktop Entry]_x000D_Comment=XDG Portals_x000D_Exec=/usr/libexec/xdg-desktop-portal --replace_x000D_GenericName=XDG Portals_x000D_Name=XDG Portals_x000D_OnlyShowIn=LXQt;_x000D_Type=Application

Перезагрузите виртуальную машину и проверьте работу

Перенос образа img на флешку используя команду dd

После установки Fedora, выключите Qemu.

Подключите флешку. Узнайте на каком устройстве она смонтирована

_x000D_fdisk -l

Предполагается что флешка смонтирована на устройство /dev/sdb . У вас может быть другое устройство.

_x000D_Disk /dev/sdb: 29,7 GiB, 31914983424 bytes, 62333952 sectors_x000D_Units: sectors of 1 * 512 = 512 bytes_x000D_Sector size (logical/physical): 512 bytes / 512 bytes_x000D_I/O size (minimum/optimal): 512 bytes / 512 bytes_x000D_Disklabel type: gpt_x000D_Disk identifier: 783A4E57-3B40-4317-8A8C-BD074FCB0F0E_x000D_

Скопируйте img образ на флешку.

Обратите внимание на какое устройство вы копируете!

Вместо /dev/sdb у вас может быть другое устройство!

_x000D_dd bs=1M if=ubuntu.img of=/dev/sdb conv=noerror,fsync status=progress_x000D_

Выполните синхронизацию

_x000D_sync -f && fstrim -av

Проверьте изменения

_x000D_fdisk -l /dev/sdb

Должно вывести примерно следующее

_x000D_GPT PMBR size mismatch (16777215 != 62333951) will be corrected by w(rite)._x000D_Disk /dev/sdb: 29,7 GiB, 31914983424 bytes, 62333952 sectors_x000D_Units: sectors of 1 * 512 = 512 bytes_x000D_Sector size (logical/physical): 512 bytes / 512 bytes_x000D_I/O size (minimum/optimal): 512 bytes / 512 bytes_x000D_Disklabel type: gpt_x000D_Disk identifier: EDFCC007-0E71-47D3-B6D7-031EF67843E9_x000D__x000D_Device Start End Sectors Size Type_x000D_/dev/sdb1 2048 206847 204800 100M EFI System_x000D_/dev/sdb2 206848 16777182 16570335 7,9G Linux root (x86-64)_x000D_

Исправление ошибки GPT PMBR size mismatch

Если у вас при вызове команды fdisk -l Выдает ошибку

_x000D_GPT PMBR size mismatch (16777215 != 62333951) will be corrected by w(rite).

То нужно исправить флешку через gdisk

_x000D_gdisk /dev/sdb

Выполните последовательно команды x, e, v, w

_x000D_x - extra functionality (experts only)_x000D_e - relocate backup data structures to the end of the disk_x000D_v - verify disk_x000D_w - write table to disk and exit

Примерно должно получиться следующее:

_x000D_$ gdisk /dev/sdb_x000D_GPT fdisk (gdisk) version 1.0.3_x000D__x000D_Partition table scan:_x000D_ MBR: protective_x000D_ BSD: not present_x000D_ APM: not present_x000D_ GPT: present_x000D__x000D_Found valid GPT with protective MBR; using GPT._x000D__x000D_Command (? for help): x_x000D__x000D_Expert command (? for help): e_x000D_Relocating backup data structures to the end of the disk_x000D__x000D_Expert command (? for help): v_x000D__x000D_No problems found. 45558750 free sectors (21.7 GiB) available in 2_x000D_segments, the largest of which is 45556736 (21.7 GiB) in size._x000D__x000D_Expert command (? for help): w_x000D__x000D_Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING_x000D_PARTITIONS!!_x000D__x000D_Do you want to proceed? (Y/N): Y_x000D_OK; writing new GUID partition table (GPT) to /dev/sdb._x000D_The operation has completed successfully._x000D_

После выполнения этих команд таблица должна быт исправлена. Проверьте ее командой

_x000D_fdisk -l /dev/sdb

ошибка исчезла:

_x000D_Disk /dev/sdb: 29,7 GiB, 31914983424 bytes, 62333952 sectors_x000D_Units: sectors of 1 * 512 = 512 bytes_x000D_Sector size (logical/physical): 512 bytes / 512 bytes_x000D_I/O size (minimum/optimal): 512 bytes / 512 bytes_x000D_Disklabel type: gpt_x000D_Disk identifier: EDFCC007-0E71-47D3-B6D7-031EF67843E9_x000D__x000D_Device Start End Sectors Size Type_x000D_/dev/sdb1 2048 206847 204800 100M EFI System_x000D_/dev/sdb2 206848 16777182 16570335 7,9G Linux root (x86-64)_x000D_

Так как img образ был значительно меньше размера флешки, то нужно увелить размер

_x000D_cfdisk /dev/sdb

Выбирите пункт resize и установите новый размер. Запишите изменения на диск через пункт [Write]

Проверьте целостность файловой системы и увеличьте ее размер

_x000D_e2fsck -y -f /dev/sdb2_x000D_resize2fs /dev/sdb2

Также можно проверить целостность boot раздела

_x000D_fsck -fvy /dev/sdb1_x000D_fsck -fvy /dev/sdb2

Установка загрузчика GRUB

Оказывается Lubuntu установилась без загрузчика EFI. Нужно его установить.

Смонтируйте флешку

_x000D_mount /dev/sdb2 /mnt_x000D__x000D_mkdir -p /mnt/boot/efi_x000D_mkdir -p /mnt/{proc,sys,dev,tmp}_x000D_mkdir -p /mnt/dev/pts_x000D__x000D_mount /dev/sdb1 /mnt/boot/efi_x000D_mount -t proc proc /mnt/proc_x000D_mount -t sysfs sys /mnt/sys_x000D_mount -o bind /dev /mnt/dev_x000D_mount -t devpts none /mnt/dev/pts

Сделайте chroot

_x000D_chroot /mnt

Установите загрузчик

Обратите внимание, на какой диск устанавливаете загрузчик. Обычно это /dev/sdb, но может быть другой диск

_x000D_grub-install --target=x86_64-efi --bootloader-id=liveusb _x000D_ --boot-directory=/boot --removable --recheck _x000D_ --no-floppy /dev/sdb_x000D__x000D_update-initramfs -u_x000D_update-grub

Выйдите из chroot

_x000D_exit

Отмонтируйте папки

_x000D_umount /mnt/proc_x000D_umount /mnt/sys_x000D_umount /mnt/dev/pts_x000D_umount /mnt/dev_x000D_

Отмонтируйте boot папку

_x000D_umount /mnt/boot/efi

Отмонтируйте флешку

_x000D_umount /mnt

Загрузочная флешка готова!

Проверка флешки через QEMU

Запустите qemu

_x000D_qemu-system-x86_64 -m 2G -cpu host -enable-kvm _x000D_ -bios /usr/share/ovmf/OVMF.fd _x000D_ -netdev user,id=net0 -device virtio-net-pci,netdev=net0 _x000D_ -drive format=raw,media=disk,file=/dev/sdb

Проверка img файла через QEMU

Запустите qemu с параметрами

_x000D_qemu-system-x86_64 -m 2G -cpu host -enable-kvm _x000D_ -bios /usr/share/ovmf/OVMF.fd _x000D_ -netdev user,id=net0 -device virtio-net-pci,netdev=net0 _x000D_ -drive format=raw,file=/wp-content/uploads/blinux/usb.img

Проверка img файла через VirtualBox

IMG Файл можно конвертировать в файл Virtualbox и обратно.

Конвертация в диск для VirtualBox

_x000D_VBoxManage convertfromraw --format VDI usb.img usb.vdi

Поменяйте владельца файла

_x000D_chown user:user usb.vdi

Создайте виртуальную машину и подключите этот vdi диск и запустите виртуальную машину

Чтобы сконвертировать обратно диск VirtualBox в img выполните команду

_x000D_VBoxManage internalcommands converttoraw usb.vdi usb.img