Linux с внешнего USB-накопителя не загружается на других компьютерах

Это мое решение (спасибо за указатель xpra). Оно выглядит так:

  1. Предполагается одинаковый bashrc локально и удаленно
  2. Используйте tmux-ssh для подключения к удаленному сайту. Он принимает обычные аргументы ssh(1), такие как -p и -u. В основном она вызывает tmux-x-attach() на удаленном сайте
  3. tmux-x-attach() запускает сервер xpra, если он не запущен, затем подключается к запущенному серверу xpra и передается в tmux-attach()
  4. tmux-attach() будет либо
    1. запустит новую сессию tmux, если таковой не существует
    2. присоединится к (единственному) запущенному экземпляру tmux
    3. спросит, к какой из нескольких сессий tmux присоединиться
  5. при отсоединении мы возвращаемся к tmux-x-attach, который отсоединяется от xpra до завершения ssh-сессии
  6. Будет сделана попытка (tput init) очистить терминал, если tmux был отсоединен, например, из vim. vim

Из .bashrc

  tmux-x-attach() {
     ps -f -u $USER | grep -v grep | grep -q 'xpra start' || xpra start :9
     xpra attach :9 --opengl=no > /tmp/xpra-attach.log 2>&1 &
     DISPLAY=:9 tmux-attach "$@"
     xpra detach :9
  }

  tmux-attach() {
     case $(tmux list-sessions 2>/dev/null | wc -l) in
        0) tmux ;;
        1) tmux attach ;;
        *)
           tmux list-sessions 
           read -n 1 -p "Select command: " N < /dev/tty > /dev/tty;
           tmux attach -t $N
           ;;
     esac
  }
  tmux-ssh() { ssh "$@" -A -X -t 'PS1=tmux-ssh- ; . ~/.bashrc ; tmux-x-attach'; tput init; }
3
09.09.2018, 22:19
2 ответа

error: unknown filesystem.

В одной системе это работало, в другой нет, это означает, что ваш grub, вероятно, не ищет разделы по uuid.

I suspect this is because GRUB searches for the partitions using labels such as hd0,msdos5, as the menu entries in my grub.cfg uses them – assuming that grub.cfg is the source for what's put in the MBR. My /etc/default/grub does not contain GRUB_DISABLE_LINUX_UUID=true.

Это подтверждает мое первое впечатление. Кстати, hd0, msdos5 - это НЕ ярлык, а спецификация диска, которая устарела, теперь... в зависимости от многих факторов hd0 может быть любым диском в вашей системе... тем более, когда вы переключаете компьютеры.

У меня есть следующее:

linux   /boot/vmlinuz-3.16.0-4-amd64 root=UUID=<someUUID> ro  quiet nomodeset

Я использую nomodeset, потому что некоторые материнские платы не любят менять режимы Linux.

Проверьте, есть ли у корневого раздела uuid, и используйте его в grub, как упоминалось выше.

1
27.01.2020, 21:30

Благодаря тому, что @TomYan обратил мое внимание на разделы EFI, стало очевидным относительно простое решение.

Во-первых, я сделал резервную копию всех данных на своем внешнем жестком диске, прежде чем полностью переформатировать его и создать GPT с fdiskвместо MBR, который был у него ранее. После этого осталось только переустановить дистрибутив в режиме UEFI. Теперь он отлично загружается на всех компьютерах, которые я пробовал до сих пор.


РЕДАКТИРОВАТЬ :Это решает проблему только при загрузке дистрибутивов на основе RPM -.

0
27.01.2020, 21:30

Теги

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