Я пытаюсь создать постоянный USB-накопитель Ubuntu 17.04 с mkusb (dus). Я внимательно следил за указаниями на веб-сайте mkusb, и я пробовал большинство вариантов, о которых я могу думать, и без радости. Когда я выбираю постоянный USB в BIOS, загружайте его; Я выбираю Ubuntu persistent; grub объекты с hd0,4 не найдены.
Некоторые из вещей, которые я пробовал: - создание постоянного диска на втором флеш-накопителе при загрузке с флеш-накопителя Live-USB; - Все комбинации устаревшего режима BIOS и безопасной загрузки включены и отключены; - таблицы msdos и gpt на целевом диске; - различные флеш-накопители; - разные количества постоянной памяти; - и т. д.
Любые предложения будут очень благодарны.
Моя система: ноутбук HP с четырехъядерным процессором AMD64, память 16 ГБ, загрузка (обычно) в безопасном режиме UEFI. BIOS является последним. Установленная ОС - Ubuntu 17.04.
Спасибо! -Warren
Редактировать # 1, чтобы добавить:
При дальнейшем исследовании кажется, что grub загружается с флэш-накопителя как hd2, а не hd0. Вероятно, это связано с тем, что два внутренних жестких диска сначала обнаруживаются BIOS, и они распознаются как hd0 и hd1. Как заставить grub на постоянном флеш-накопителе распознавать, что он был загружен с hd2, а не hd0 в настоящее время выше моего уровня оплаты.
Изменить # 1, чтобы добавить:
@ sudodus- спасибо за помощь. Часть запрошенной информации:
Компоненты mkusb и dus загружаются из ppa и являются версией 12.0.9. В BIOS отключен устаревший режим и включена безопасная загрузка. Я пробовал редактировать команды grub («e») и менял hd0 на hd2. Это работает! Постоянный флеш-накопитель загружается, как ожидалось. (Интересно, почему grub не просто установил корень на диск, который был загружен из ...?)
Вывод из команд -
warren@warren-laptop:~$ sudo lsblk -fm
NAME FSTYPE LABEL UUID MOUNTPOINT NAME SIZE OWNER GROUP MODE
sda sda 953.9G root disk brw-rw----
├─sda1 vfat 1168-7BED /boot/efi ├─sda1 256M root disk brw-rw----
├─sda2 ext4 182d8f07-567e-4514-9f99-49b78767f195 / ├─sda2 921.6G root disk brw-rw----
└─sda3 swap 8187044e-0939-4868-b81a-b5bc64bd9e7c [SWAP] └─sda3 32G root disk brw-rw----
sdb sdb 698.7G root disk brw-rw----
└─sdb1 ext4 devel 27a0c109-82be-4ceb-b572-dedbeb412744 /home/warren/devel └─sdb1 698.6G root disk brw-rw----
sdc sdc 14.5G root disk brw-rw----
├─sdc1 ntfs usbdata 134E2DAF76E6A9A4 /media/warren/usbdata ├─sdc1 3.2G root disk brw-rw----
├─sdc2 ├─sdc2 1M root disk brw-rw----
├─sdc3 vfat usbboot 2EA6-44A9 ├─sdc3 122M root disk brw-rw----
├─sdc4 iso9660 Ubuntu 17.04 amd64 2017-04-12-03-44-04-00 /media/warren/Ubuntu 17.04 amd64 ├─sdc4 1.5G root disk brw-rw----
└─sdc5 ext4 casper-rw 8a27c645-3e5c-4e7f-bf92-eb51dc0bd19f /media/warren/casper-rw └─sdc5 9.6G root disk brw-rw----
warren@warren-laptop:~$ sudo parted -ls
Model: ATA SanDisk SD8SB8U1 (scsi)
Disk /dev/sda: 1024GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 269MB 268MB fat32 efi boot, esp
2 269MB 990GB 990GB ext4
3 990GB 1024GB 34.4GB linux-swap(v1)
Model: ATA ST750LX003-1AC15 (scsi)
Disk /dev/sdb: 750GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 16.8MB 750GB 750GB ext4 devel
Model: Patriot Memory (scsi)
Disk /dev/sdc: 15.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
2 1049kB 2097kB 1049kB primary bios_grub
3 2097kB 130MB 128MB fat32 primary boot, esp
4 130MB 1759MB 1629MB primary
5 1759MB 12.1GB 10.3GB ext2 primary
1 12.1GB 15.5GB 3436MB ntfs primary msftdata
warren@warren-laptop:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 7776108 0 7776108 0% /dev
tmpfs 1559788 10204 1549584 1% /run
/dev/sda2 951092244 187079792 715676736 21% /
tmpfs 7798928 12 7798916 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 7798928 0 7798928 0% /sys/fs/cgroup
/dev/sda1 258095 3496 254599 2% /boot/efi
/dev/sdb1 720011344 242201684 441165412 36% /home/warren/devel
tmpfs 1559784 168 1559616 1% /run/user/1000
/dev/sdc4 1571328 1571328 0 100% /media/warren/Ubuntu 17.04 amd64
/dev/sdc1 3355644 17388 3338256 1% /media/warren/usbdata
/dev/sdc5 9909328 36912 9352660 1% /media/warren/casper-rw
warren@warren-laptop:~$
Спасибо !!
Обычно компьютер идентифицирует загрузочный диск как hd0, но это не так на вашем компьютере. Я попытаюсь найти способ обойти эту проблему. Я тестировал Lubuntu 17.04 на своем ноутбуке Toshiba в режиме UEFI и не смог воспроизвести ошибку. Поэтому мне понадобится ваша помощь, чтобы проверить все исправления, которые я могу найти.
Изменить: я изменил shellscript dus-persistent mkusb и загрузил новую версию 12.1.1 в нестабильный PPA. Основные улучшения касаются изменения в структуре загрузки Ubuntu 17.04 и того факта, что ваш компьютер не загружается с hd0. Основное отличие состоит в том, как идентифицировать раздел # 4 с изображением из файла iso (файловая система iso9660),
search --set=root --fs-uuid <the-UUID-of-partition-no-4>
, и это делается автоматически mkusb-dus. Так что мне понадобится ваша помощь, чтобы проверить все исправления, которые я могу найти. Вы получаете новую версию в соответствии с этой ссылкой,
Toshiba laptop [!d9 ]
Нестабильная версия все еще разработана и отлажена. Он доступен из ppa:mkusb/unstable через следующие командные строки:
sudo add-apt-repository universe # this line only for standard Ubuntu
sudo add-apt-repository ppa:mkusb/unstable
sudo apt-get update
sudo apt-get install mkusb # install
# sudo apt-get dist-upgrade # upgrade to current version (with all other upgrades), only for installed systems
sudo apt-get install mkusb guidus dus mkusb-common
# upgrade all mkusb basic components including dus
# for persistent live drives that work in UEFI and BIOS mode with 32-bit iso files, add
sudo apt-get install usb-pack-efi
Спасибо за отзывы (которые вы внесли в исходный вопрос).
«Я попытался отредактировать команды grub (« e ») и сменил hd0 на hd2. Это работает! Постоянный флеш-накопитель загружается, как ожидалось (Wonder why grub не просто установил корень на диск, который был загружен из ...?) «Я бы предложил отредактировать файл grub.cfg в разделе №3« USB-накопителя, чтобы он был постоянным »( раздел «usbboot»). Это должно сделать исправление постоянным на вашем USB-накопителе. Но это не сработает на других компьютерах, которые ведут себя как мои компьютеры.
$ ls -l /media/lubuntu/usbboot/boot/grub/grub.cfg
-rw-r--r-- 1 lubuntu lubuntu 1312 Apr 29 06:31 /media/lubuntu/usbboot/boot/grub/grub.cfg
grub.cfg имеет следующее содержимое, в котором вы изменяете hd0,4 на hd2,4. (Вы также можете изменить hd0,3 на hd2,3, но Memtest86 + все равно не будет работать в режиме UEFI.)
В вашем случае вы можете ожидать «Ubuntu» вместо «Lubuntu», но в противном случае
set timeout=10
set default=0
menuentry "Lubuntu-17.04-desktop-amd64.iso - persistent live" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash persistent --
initrd ($root)/casper/initrd.lz
}
menuentry "Lubuntu-17.04-desktop-amd64.iso - persistent live to RAM" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash toram persistent --
initrd ($root)/casper/initrd.lz
}
menuentry "Lubuntu-17.04-desktop-amd64.iso - live" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash --
initrd ($root)/casper/initrd.lz
}
menuentry "Lubuntu-17.04-desktop-amd64.iso - recovery mode" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper ro recovery nomodeset
initrd ($root)/casper/initrd.lz
}
submenu "Memory test" {
menuentry "Memtest86+ works in BIOS alias CSM mode, but not in efi (UEFI) mode"{
echo "${grub_platform} mode; (memtest86+ does not work with efi (UEFI) mode)"
}
menuentry "Memtest86+ 4.20" {
set root=(hd0,3)
echo "${grub_platform} mode; (memtest86+ does not work with efi (UEFI) mode)"
linux16 /boot/memtest/memtest.bin
}
menuentry "Memtest86+-5.01" {
set root=(hd0,3)
echo "${grub_platform} mode; (memtest86+ does not work with efi (UEFI) mode)"
linux16 /boot/memtest/memtest86+-5.01.bin
}
}
Альтернативой является копирование пунктов меню grub.cfg и изменение одного из них, чтобы иметь две альтернативы, чтобы легко загружать флеш-накопитель USB на разных компьютерах.
...
menuentry "Ubuntu-17.04-desktop-amd64.iso - persistent live (hd2,4)" {
set root=(hd2,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash persistent --
initrd ($root)/casper/initrd.lz
}
menuentry "Ubuntu-17.04-desktop-amd64.iso - persistent live (hd0,4)" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash persistent --
initrd ($root)/casper/initrd.lz
}
...
Обычно компьютер идентифицирует загрузочный диск как hd0, но это не так на вашем компьютере. Я попытаюсь найти способ обойти эту проблему. Я тестировал Lubuntu 17.04 на своем ноутбуке Toshiba в режиме UEFI и не смог воспроизвести ошибку. Поэтому мне понадобится ваша помощь, чтобы проверить все исправления, которые я могу найти.
Изменить: я изменил shellscript dus-persistent mkusb и загрузил новую версию 12.1.1 в нестабильный PPA. Основные улучшения касаются изменения в структуре загрузки Ubuntu 17.04 и того факта, что ваш компьютер не загружается с hd0. Основное отличие состоит в том, как идентифицировать раздел # 4 с изображением из файла iso (файловая система iso9660),
search --set=root --fs-uuid <the-UUID-of-partition-no-4>
, и это делается автоматически mkusb-dus. Так что мне понадобится ваша помощь, чтобы проверить все исправления, которые я могу найти. Вы получаете новую версию в соответствии с этой ссылкой,
Нестабильная версия все еще разработана и отлажена. Он доступен из ppa:mkusb/unstable через следующие командные строки:
sudo add-apt-repository universe # this line only for standard Ubuntu
sudo add-apt-repository ppa:mkusb/unstable
sudo apt-get update
sudo apt-get install mkusb # install
# sudo apt-get dist-upgrade # upgrade to current version (with all other upgrades), only for installed systems
sudo apt-get install mkusb guidus dus mkusb-common
# upgrade all mkusb basic components including dus
# for persistent live drives that work in UEFI and BIOS mode with 32-bit iso files, add
sudo apt-get install usb-pack-efi
Спасибо за отзывы (которые вы внесли в исходный вопрос).
«Я попытался отредактировать команды grub (« e ») и сменил hd0 на hd2. Это работает! Постоянный флеш-накопитель загружается, как ожидалось (Wonder why grub не просто установил корень на диск, который был загружен из ...?) «Я бы предложил отредактировать файл grub.cfg в разделе №3« USB-накопителя, чтобы он был постоянным »( раздел «usbboot»). Это должно сделать исправление постоянным на вашем USB-накопителе. Но это не сработает на других компьютерах, которые ведут себя как мои компьютеры.
$ ls -l /media/lubuntu/usbboot/boot/grub/grub.cfg
-rw-r--r-- 1 lubuntu lubuntu 1312 Apr 29 06:31 /media/lubuntu/usbboot/boot/grub/grub.cfg
grub.cfg имеет следующее содержимое, в котором вы изменяете hd0,4 на hd2,4. (Вы также можете изменить hd0,3 на hd2,3, но Memtest86 + все равно не будет работать в режиме UEFI.)
В вашем случае вы можете ожидать «Ubuntu» вместо «Lubuntu», но в противном случае
set timeout=10
set default=0
menuentry "Lubuntu-17.04-desktop-amd64.iso - persistent live" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash persistent --
initrd ($root)/casper/initrd.lz
}
menuentry "Lubuntu-17.04-desktop-amd64.iso - persistent live to RAM" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash toram persistent --
initrd ($root)/casper/initrd.lz
}
menuentry "Lubuntu-17.04-desktop-amd64.iso - live" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash --
initrd ($root)/casper/initrd.lz
}
menuentry "Lubuntu-17.04-desktop-amd64.iso - recovery mode" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper ro recovery nomodeset
initrd ($root)/casper/initrd.lz
}
submenu "Memory test" {
menuentry "Memtest86+ works in BIOS alias CSM mode, but not in efi (UEFI) mode"{
echo "${grub_platform} mode; (memtest86+ does not work with efi (UEFI) mode)"
}
menuentry "Memtest86+ 4.20" {
set root=(hd0,3)
echo "${grub_platform} mode; (memtest86+ does not work with efi (UEFI) mode)"
linux16 /boot/memtest/memtest.bin
}
menuentry "Memtest86+-5.01" {
set root=(hd0,3)
echo "${grub_platform} mode; (memtest86+ does not work with efi (UEFI) mode)"
linux16 /boot/memtest/memtest86+-5.01.bin
}
}
Альтернативой является копирование пунктов меню grub.cfg и изменение одного из них, чтобы иметь две альтернативы, чтобы легко загружать флеш-накопитель USB на разных компьютерах.
...
menuentry "Ubuntu-17.04-desktop-amd64.iso - persistent live (hd2,4)" {
set root=(hd2,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash persistent --
initrd ($root)/casper/initrd.lz
}
menuentry "Ubuntu-17.04-desktop-amd64.iso - persistent live (hd0,4)" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash persistent --
initrd ($root)/casper/initrd.lz
}
...
Обычно компьютер идентифицирует загрузочный диск как hd0, но это не так на вашем компьютере. Я попытаюсь найти способ обойти эту проблему. Я тестировал Lubuntu 17.04 на своем ноутбуке Toshiba в режиме UEFI и не смог воспроизвести ошибку. Поэтому мне понадобится ваша помощь, чтобы проверить все исправления, которые я могу найти.
Изменить: я изменил shellscript dus-persistent mkusb и загрузил новую версию 12.1.1 в нестабильный PPA. Основные улучшения касаются изменения в структуре загрузки Ubuntu 17.04 и того факта, что ваш компьютер не загружается с hd0. Основное отличие состоит в том, как идентифицировать раздел # 4 с изображением из файла iso (файловая система iso9660),
search --set=root --fs-uuid <the-UUID-of-partition-no-4>
, и это делается автоматически mkusb-dus. Так что мне понадобится ваша помощь, чтобы проверить все исправления, которые я могу найти. Вы получаете новую версию в соответствии с этой ссылкой,
Нестабильная версия все еще разработана и отлажена. Он доступен из ppa:mkusb/unstable через следующие командные строки:
sudo add-apt-repository universe # this line only for standard Ubuntu
sudo add-apt-repository ppa:mkusb/unstable
sudo apt-get update
sudo apt-get install mkusb # install
# sudo apt-get dist-upgrade # upgrade to current version (with all other upgrades), only for installed systems
sudo apt-get install mkusb guidus dus mkusb-common
# upgrade all mkusb basic components including dus
# for persistent live drives that work in UEFI and BIOS mode with 32-bit iso files, add
sudo apt-get install usb-pack-efi
Спасибо за отзывы (которые вы внесли в исходный вопрос).
«Я попытался отредактировать команды grub (« e ») и сменил hd0 на hd2. Это работает! Постоянный флеш-накопитель загружается, как ожидалось (Wonder why grub не просто установил корень на диск, который был загружен из ...?) «Я бы предложил отредактировать файл grub.cfg в разделе №3« USB-накопителя, чтобы он был постоянным »( раздел «usbboot»). Это должно сделать исправление постоянным на вашем USB-накопителе. Но это не сработает на других компьютерах, которые ведут себя как мои компьютеры.
$ ls -l /media/lubuntu/usbboot/boot/grub/grub.cfg
-rw-r--r-- 1 lubuntu lubuntu 1312 Apr 29 06:31 /media/lubuntu/usbboot/boot/grub/grub.cfg
grub.cfg имеет следующее содержимое, в котором вы изменяете hd0,4 на hd2,4. (Вы также можете изменить hd0,3 на hd2,3, но Memtest86 + все равно не будет работать в режиме UEFI.)
В вашем случае вы можете ожидать «Ubuntu» вместо «Lubuntu», но в противном случае
set timeout=10
set default=0
menuentry "Lubuntu-17.04-desktop-amd64.iso - persistent live" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash persistent --
initrd ($root)/casper/initrd.lz
}
menuentry "Lubuntu-17.04-desktop-amd64.iso - persistent live to RAM" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash toram persistent --
initrd ($root)/casper/initrd.lz
}
menuentry "Lubuntu-17.04-desktop-amd64.iso - live" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash --
initrd ($root)/casper/initrd.lz
}
menuentry "Lubuntu-17.04-desktop-amd64.iso - recovery mode" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper ro recovery nomodeset
initrd ($root)/casper/initrd.lz
}
submenu "Memory test" {
menuentry "Memtest86+ works in BIOS alias CSM mode, but not in efi (UEFI) mode"{
echo "${grub_platform} mode; (memtest86+ does not work with efi (UEFI) mode)"
}
menuentry "Memtest86+ 4.20" {
set root=(hd0,3)
echo "${grub_platform} mode; (memtest86+ does not work with efi (UEFI) mode)"
linux16 /boot/memtest/memtest.bin
}
menuentry "Memtest86+-5.01" {
set root=(hd0,3)
echo "${grub_platform} mode; (memtest86+ does not work with efi (UEFI) mode)"
linux16 /boot/memtest/memtest86+-5.01.bin
}
}
Альтернативой является копирование пунктов меню grub.cfg и изменение одного из них, чтобы иметь две альтернативы, чтобы легко загружать флеш-накопитель USB на разных компьютерах.
...
menuentry "Ubuntu-17.04-desktop-amd64.iso - persistent live (hd2,4)" {
set root=(hd2,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash persistent --
initrd ($root)/casper/initrd.lz
}
menuentry "Ubuntu-17.04-desktop-amd64.iso - persistent live (hd0,4)" {
set root=(hd0,4)
linux ($root)/casper/vmlinuz.efi boot=casper quiet splash persistent --
initrd ($root)/casper/initrd.lz
}
...
Предполагая, что вы загружаетесь с grub (режим UEFI), а не syslinux (устаревший режим), вы можете просто отредактировать команды grub с экрана меню grub, набрав «e», а затем с помощью клавиш со стрелками переместитесь на hd0 и измените это к hd2. Инструкции внизу экрана grub, управление X или F10 для загрузки.
Если изменения работают, попробуйте отредактировать их в файле grub.cfg. Sudodus прав, update-grub не будет работать в этом случае.
Я оставлю обсуждение mkusb в sudodus, я сбился с толку, глядя на очень старый USB-накопитель, созданный более старой версией.
Предполагая, что вы загружаетесь с grub (режим UEFI), а не syslinux (устаревший режим), вы можете просто отредактировать команды grub с экрана меню grub, набрав «e», а затем с помощью клавиш со стрелками переместитесь на hd0 и измените это к hd2. Инструкции внизу экрана grub, управление X или F10 для загрузки.
Если изменения работают, попробуйте отредактировать их в файле grub.cfg. Sudodus прав, update-grub не будет работать в этом случае.
Я оставлю обсуждение mkusb в sudodus, я сбился с толку, глядя на очень старый USB-накопитель, созданный более старой версией.
Предполагая, что вы загружаетесь с grub (режим UEFI), а не syslinux (устаревший режим), вы можете просто отредактировать команды grub с экрана меню grub, набрав «e», а затем с помощью клавиш со стрелками переместитесь на hd0 и измените это к hd2. Инструкции внизу экрана grub, управление X или F10 для загрузки.
Если изменения работают, попробуйте отредактировать их в файле grub.cfg. Sudodus прав, update-grub не будет работать в этом случае.
Я оставлю обсуждение mkusb в sudodus, я сбился с толку, глядя на очень старый USB-накопитель, созданный более старой версией.