ошибка поиска символа gdbus

Несколько советов и комментариев к туториалу jc __

Прежде всего, большое спасибо jc__(еще раз )за публикацию его руководства о том, как вы можете достичь цели, указанной в моем первоначальном посте. Я могу подтвердить, что этот метод работает, несмотря на то, что вам, возможно, придется выполнить некоторые дополнительные действия по устранению неполадок, когда придет время загрузки установленных ОС, поэтому я делаю этот ответ, чтобы перечислить несколько вещей, которые вы, возможно, захотите рассмотреть, следуя руководству.

0. Если вы выбираете более старые дистрибутивы, внимательно проверьте возможность их загрузки

Я узнал на горьком опыте, что Fedora 8 слишком старая для загрузки на более новом оборудовании, таком как мой нынешний ноутбук (Напомню, Fedora 8 была выпущена примерно в 2007 году; мой ноутбук был построен в 2010-х годах ). Я не помню точных подробностей (, так как я узнал об этом благодаря одному из моих коллег ), но, похоже, ядро ​​имеет проблемы с моим оборудованием и не может правильно смонтировать все, поэтому я в конце концов бросил Fedora 8 для Fedora 14 (, которая отлично работает ).

Но как можно проверить, правильно ли загрузится дистрибутив на вашем компьютере? Простой подход заключается в загрузке с USB Live-версии целевого дистрибутива. Если с Live-версией все загружается нормально, то у вас не должно возникнуть проблем с установкой дистрибутива через виртуальную машину, клонированием ее раздела на USB-накопителе и загрузкой с USB-накопителя.

В моем случае я использовал YUMI -Multiboot USB Creator для тестирования нескольких Live-версий старых выпусков Fedora на моем ноутбуке. Конечно, этот совет применим только в том случае, если вам, как и мне, нужно использовать старые дистрибутивы.

1. Рассмотрите возможность использования FAT32 или ext3/ext4 для раздела данных

В какой-то момент у моего Ubuntu 16.04 возникли проблемы с разделом данных, когда он был отформатирован в NTFS. В конце концов, я -отформатировал его как FAT32 -— более старый формат, с которым должен работать любой дистрибутив Linux. ext3/ext4 также должны быть в порядке, если вы используете исключительно Linux (, насколько я знаю, Windows не может работать с этими файловыми системами ), хотя я сам не проверял это.

Теперь я использую раздел данных как способ легко обмениваться данными между операционными системами на USB-накопителе и операционными системами на хост-компьютере.

2. Рассмотрите возможность использования дополнительного USB-накопителя для клонирования раздела

Наличие второго USB-накопителя может быть очень удобным для первых шагов, так как вы можете использовать его для хранения изображений, созданных clonezilla. Когда clonezillaспросит вас, куда вы поместите папку /home/partimag/, выберите первый вариант в меню (чуть выше ssh _сервер ), пока ваш второй USB-накопитель не подключен к вашей машине, затем подключите его, подождите около 5 секунд и нажмите Enter, затем выберите второй USB-накопитель, когда clonezillaперечислит ваши параметры для папки /home/partimag/. Последующие операции будут идентичны перечисленным jc __.

Этот подход, конечно, -не -меняет результат, и его достоинство заключается в том, что он вообще не задействует ваш хост-компьютер при создании разделов USB-накопителя и клонировании/восстановлении разделов, на которых находятся целевые ОС. расположены. Вы можете попробовать это, если вы не уверены, стоит ли играться с разбиением диска.

3. Если загрузка ОС USB не удалась после загрузки ядра, пересоберите initrd/ initramfsобраз

В зависимости от целевых ОС вы можете столкнуться с проблемами, подобными тем, которые я представил в некоторых комментариях к этой теме, например, тайм-аут с очередями в dracutпри загрузке Fedora 24.

В моем случае, за исключением частного случая Fedora 8 (ср. пункт 0 ), проблему решил пересобрав образ initrd. В зависимости от вашего дистрибутива и того, насколько он недавний, этот образ также может иметь префикс initramfs, а не initrd. Независимо от имени, цель файла одна и та же :наличие временной файловой системы во время загрузки перед отключением фактической файловой системы. Если этот файл поврежден, ошибочен или отсутствует, вы не сможете правильно загрузить свою систему.

Будем надеяться, что любой дистрибутив Linux поставляется с утилитой для восстановления этого образа. Из моего (короткого )опыта:

  • Старые дистрибутивы:mkinitrd
  • Последние дистрибутивы Ubuntu:mkinitramfs
  • Последние дистрибутивы Fedora:dracut

ПРИМЕЧАНИЕ.:при (повторном -)построении образа каждая утилита будет учитывать файл /etc/fstab. Воспользуйтесь этим, чтобы уже связать раздел подкачки с вашей ОС USB. В /etc/fstabвы можете использовать UUIDдля обозначения раздела, поэтому используйте fdiskи blkid, чтобы получить UUID нужного раздела подкачки и соответствующим образом обновить /etc/fstab.

Чтобы использовать одну из трех перечисленных мной команд для перестроения образа, вам нужно сначала chrootвойти в ОС, для которой вы хотите перестроить образ initrd/ initramfs.В основном я придерживаюсь того же подхода, что и в этом руководстве , которое заключается в монтировании раздела операционной системы с ошибками (, т. е. одной из наших ОС USB )на вашем хост-компьютере и использовании нескольких команд привязки. правильно chrootв нем. При необходимости вы можете создать подпапки -в папке /mnt. В моем случае для chroot в мою Fedora 14 я использовал следующие команды:

sudo mkdir /mnt/usb_f14
sudo mount /dev/sdb3 /mnt/usb_f14
sudo mount --bind /proc /mnt/usb_f14/proc
sudo mount --bind /dev /mnt/usb_f14/dev
sudo mount --bind /sys /mnt/usb_f14/sys
sudo chroot /mnt/usb_f14

Не забудьте заранее проверить, какой /dev/sdXваш раздел с fdisk. После того, как вы внедрились в ОС USB, перейдите в папку /boot. Если вы хотите, переименуйте уже существующее изображение (, если есть ), чтобы сохранить его (, вы можете просто добавить к нему префикс old-, например ), прежде чем создавать новое изображение. Затем запустите

ls /lib/modules/

Здесь будут перечислены различные ядра, установленные на вашей ОС USB (большую часть времени, у вас должно быть только одно ). Действительно, любая из перечисленных выше команд требует, чтобы вы предоставили ядро, которое вы будете использовать для сборки образа. Затем, в зависимости от утилиты, к которой у вас есть доступ, вы должны запустить одну из трех следующих команд (по my-kernel, я обозначаю одно из ядер, перечисленных как ls /lib/modules/; обратите внимание, что вы можете использовать другие имена для ваших изображений, если хотите)

  • mkinitrd initrd-my-kernel.img my-kernel
  • mkinitramfs -o initramfs-my-kernel.img my-kernel
  • dracut initramfs-my-kernel.img my-kernel

В зависимости от вашей ОС могут появляться сообщения об отсутствующих модулях. Пока образ создан, вы можете их игнорировать (Я получил некоторые из них при восстановлении образа для моей Fedora 14, и он по-прежнему загружается нормально ).

Также обратите внимание, что если вы заменяете старый образ напрямую, вам, возможно, придется добавить флаг в свою команду, чтобы принудительно перезаписать. Например, к dracutследует добавить --force. Обратитесь к вашему руководству для других команд. Когда вы закончите, размонтируйте раздел ОС USB и перезагрузите компьютер с последовательностью загрузки, настроенной на загрузку с USB. Теперь ваша ОС USB должна загружаться нормально.

Наконец,не забудьте записать имя, которое вы дали новому изображению, если оно отличается от имени исходного изображения, потому что вам нужно будет обновить файл grub.cfg, чтобы принять во внимание новое изображение.

4. Дважды -проверьте разделы на виртуальных машинах

Если вы не можете сами выбрать раздел при установке одной из ваших целевых ОС на виртуальную машину (, это случилось со мной с Fedora 14 ), возможно, вы получите два ext4раздела, с маленьким, содержащим папку /boot, и другим, содержащим остальную часть файловой системы. Если это произойдет, клонируйте больший раздел с помощью метода, описанного jc __, затем снова загрузите свою виртуальную машину, скопируйте куда-нибудь (, например, на дополнительный USB-накопитель )папку /boot, а затем поместите ее в раздел, который вы клонировали после его восстановления. Не забудьте впоследствии обновить файл /etc/fstabперед повторным -созданием образа initrd(см. 3 ), так как исходный файл, скорее всего, по-прежнему будет содержать два раздела ext4вместо одного.

5. Простой выход из USB GRUB

Хотя jc __рекомендует использовать super_grub2_disk_hybrid_2.02s9.isoи memdiskдля доступа ко всем параметрам на хост-компьютере, вы также можете просто добавить этот простой пункт меню в свойgrub.cfg:

menuentry 'Continue to host machine' {
    exit
}

Это приведет к закрытию GRUB на USB-накопителе и возобновлению последовательности загрузки хост-компьютера. В моем случае, поскольку мой хост-компьютер представляет собой ноутбук с двойной загрузкой, я получаю меню GRUB моей машины сразу после выбора этого пункта меню.

Вот и все комментарии, которые я хотел сделать. Поскольку у меня нет большого опыта устранения неполадок в Linux, не стесняйтесь комментировать этот пост, чтобы указать на ошибки или неточные утверждения.

2
22.11.2018, 11:30
1 ответ

Возникла похожая проблема после обновления до 18.04 с 16.04

Также возникли проблемы, такие как медленный вход в систему по ssh, медленная работа dpkg и apt (Процесс всегда зависал в течение длительного времени во время «обработки триггеров»)

Решение было слишком простым:

ls -il /lib/x86_64-linux-gnu/libglib-2.0.so*
ls -il /usr/lib/x86_64-linux-gnu/libglib-2.0.so*

А у меня возникла ситуация, когда

/lib/x86_64-linux-gnu/libglib-2.0.so.0 -> libglib-2.0.so.0.3200.4
/lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4

Указано на libglib -2.0.so.0.3200.4, а

/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 -> libglib-2.0.so.0.5600.4
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.4

Указывает на более новую версию.

Таким образом, решение состоит в том, чтобы удалить файлы в папке /lib/

rm /lib/x86_64-linux-gnu/libglib-2.0.so.0
rm /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4
0
28.12.2020, 12:43

Теги

Похожие вопросы