Переустановить grub на другой диск?

export PATH=~/anaconda3/bin/python:$PATH

Это похоже на путь к исполняемому файлу . ПУТЬ должен содержать каталоги:

export PATH=~/anaconda3/bin:$PATH

#!~/anaconda3/bin/python python3
  1. Строки Shebang нуждаются в фактических путях и не выполняют тильды (это в вашей оболочке). Запишите фактический путь в исполняемый файл, начиная с / .
  2. Эта строка shebang будет работать ~ / anaconda3 / bin / python с аргументом python3 , за которым следует имя сценария.Вы, вероятно, этого не хотите, а вместо этого запускаете либо python , либо python3 .

     #! / Home / thomas / anaconda3 / bin / python 
     

screen -dm -S $p bash -c "cd /inside/home/thjmatth/essential; python3 essentialpairs_ttest_tissue_1.py; exec sh"

Если бы вы все еще использовали эту строку после обновления строки shebang, она была бы проигнорирована; python3 из вашего PATH (который не совпадает с python !) будет выполнен и запустит скрипт по очереди и просто пропустит shebang строка в качестве комментария. Если вы сделаете скрипт исполняемым ( chmod + x essentialpairs_ttest_tissue_1.py ), вы можете запустить его напрямую:

./essentialpairs_ttest_tissue_1.py

и строка shebang будет обработана.


В этом случае вы можете , вероятно, уйти, просто исправив переменную PATH из первого раздела, если только у вас нет стартовой конфигурации Bash, которая сбрасывает переменную. Если имя исполняемого файла - python , обязательно обновите командную строку screen , чтобы использовать ее вместо python3 .

2
29.07.2017, 18:03
2 ответа

Спасибо Raman Sailopal и cas за помощь, но она мне не подошла.
Вот точные шаги, которые необходимо выполнить, предполагая, что /dev/sda4 — это корень Linux, /dev/sdb2 — ваш раздел EFI (, расположенный в /boot/efi ), а ваши файлы linux/initrd — /boot/vmlinuz-linux&/boot/initramfs.img
Запишите живой USB-накопитель Ubuntu (16.04? )с архитектурой amd64, загрузитесь и вставьте эти команды:

sudo os-prober
efibootmgr

Установите os -prober или efibootmgr, если они еще не установлены:

sudo apt-get install os-prober
sudo apt-get install efibootmgr

Grub в режиме efi, вероятно, не установлен, установите его тоже

sudo apt-get install grub-efi-amd64-signed

Затем установите grub:

sudo mount -t ext4 /dev/sda4 /mnt
sudo mount -t vfat /dev/sdb2 /mnt/boot/efi
grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --boot-directory=/mnt/boot --bootloader-id=grub

Не пытайтесь использовать grub-mkconfig, это не сработает.
Вместо этого загрузитесь с вашего нового загрузчика grub, у вас будет оболочка grub, вставьте эти команды:

set root=(hd0,4)
linux /boot/vmlinuz-linux root=/dev/sda4
initrd /boot/initramfs.img
boot

После этого вы должны быть в Linux, смонтировать раздел efi, если он еще не установлен, установить grub/os -prober/efibootmgr и запустить эти:

sudo os-prober
grub-install --target=x86_64-efi --efi-directory=/boot/efi --boot-directory=/boot --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg

Перезагрузка,и жратва вернулась.

0
27.01.2020, 22:37

Загрузитесь с носителя для восстановления Linux/живого компакт-диска, а затем смонтируйте /dev/sda4 в /mnt и /dev/sdb2 в /mnt/boot. chroot /mnt, а затем запустите grub -install /dev/sdb.

0
27.01.2020, 22:37

Теги

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