Как создать ярлык между Ubuntu 16 и Windows 10 при двойной загрузке? [дубликат]

На этот вопрос уже есть ответ здесь:

Я ищу ярлык в один щелчок для выхода из системы, перезагрузки и загрузки в противоположной операционной системе. Единственная информация, которую я нашел в Интернете, касается Windows и Windows, и я не уверен, отличается ли она от нее.

2
задан 19 March 2018 в 20:03

1 ответ

Примечание: Этот ответ был происходящей работой.

Это может быть сделано. Я не уверен, какую Настольную среду Вы выполняете, но шаги должны быть относительно близко к тому же. Эти шаги создадут скрипт, который можно запустить из командной строки и также настольного средства запуска, которое может быть запущено путем нажатия на нее. Так или иначе, лучше иметь его просящий пароль, прежде чем перезагрузка произойдет.

Первая вещь состоит в том, чтобы создать сценарий, который будет содержать команды, базирующиеся из моего другого ответа здесь с помощью grub-reboot поскольку это устанавливает запись загрузки по умолчанию для GRUB для следующей начальной загрузки только. Причина этого состоит в том, таким образом, нет никакого редактирования /etc/default/grub файл или /boot/grub/grub.cfg файл.

Я назвал свой сценарий win_reboot.bsh, но прежде, чем добавить содержание к скрипту, запущенному sudo os-prober для получения более точного названия Windows 10 на всякий случай существуют многократные въезды, любят, мог быть найден в системах OEM с восстановлением, и т.д.

Я не использую GPT или работаю на системе OEM, таким образом, у меня только есть одна запись.

$ sudo os-prober
/dev/sdh1:Windows 10 (loader):Windows:chain

Примите во внимание название Windows между двоеточиями :. Мы собираемся использовать Windows 10 (loader). awk будет на самом деле иметь проблему со специальными символами как ()/ таким образом, мы должны будем выйти из тех, которые имеют a \ как Windows 10 \(loader\). Мы собираемся использовать эту строку, потому что это будет более точно, если будут многократные въезды в os-prober это выполняется прежде grub-update пишет новое /boot/grub/grub.cfg файл.

Для этого мы также собираемся использовать pkexec команда, которая должна уже быть установлена. gksu удерживается от использования.

Содержание сценария:

#!/bin/bash

if [ ${UID} != 0 ]; then
    echo "Please run as 'sudo $0'"
    exit 1
fi

grub-reboot "$(awk -F"'" '/Windows 10 \(loader\)/ {print $2}' /boot/grub/grub.cfg)"
reboot

Тот сценарий перероет grub.cfg файл и получает полное имя Windows 10 (loader) начальная загрузка. Я сделал строку для обработки изменений если a grub-update выполняется в будущем и меняет имя той строки. Причина этого состоит в том, что, если Вы добавляете жесткий диск или оставляете Карту памяти в системе, которая не является загрузочной во время начальной загрузки, обозначение диска может измениться. Вы видели строку, которая читает как Windows 10 (loader) (on /dev/sdh1) затем на другом grub-update это изменяется на Windows 10 (loader) (on /dev/sdg1). Хорошая вещь, на которую эти записи на самом деле полагаются UUID из раздела а не имени в записи личинки.

Затем, сделайте исполняемый файл сценария:

sudo chmod +x win_reboot.bsh

Теперь, если Вы выполняете его из командной строки без sudo это должно быть похожим на это:

$ ./win_reboot.bsh 
Please run as 'sudo ./win_reboot.bsh'

Создайте ярлык на новый сценарий. Я надеюсь это, когда Вы щелкаете правой кнопкой по своему рабочему столу по этому Create Launcher одна из опций. Я работаю Xfce4 как мой рабочий стол. Я предполагаю, что Вы могли создать средство запуска на основе комментария, добавленного Andrew Shum, поскольку он должен все еще работать, пока он указывает на win_reboot.bsh сценарий.

Править: Я изменил средство запуска здесь на основе комментариев, которые я получил ниже. sudo -H не работает в команде средства запуска, если Вы не установили опцию Работать в Терминале. Еще одна вещь отметить здесь, что это средство запуска называет скрипт CLI и не приложение GUI.

Можно создать файл в Вашем ~/Desktop папку называют Boot to Windows 10.desktop и добавьте следующее к нему:

[Desktop Entry]
Version=1.0
Type=Application
Name=Boot to Windows 10
Comment=Reboot System to Windows 10
Exec=pkexec /home/terrance/scripts/win_reboot.bsh
Icon=web-microsoft
Path=
Terminal=false
StartupNotify=false

Не забудьте изменяться Exec= строка для соответствия расположению файла.

enter image description here

Затем при запуске ярлыка, Вы будете видеть что-то подобное для ввода пароля как, Суперпользователь:

enter image description here

Надеюсь, это поможет!

2
ответ дан 2 December 2019 в 03:34

Другие вопросы по тегам:

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