Хочу, чтобы Windows загрузился вместо Личинки

Можно хотеть читать на регулярных выражениях. Строка, которую Вы отправили, является регулярным выражением:

s/class="node ad"/class="node ad" style="display:none"/g

Это означает, "заменяют каждое возникновение первой строки со второй".

Если Вы хотите удалить что-то, можно просто оставить вторую строку пустой, как так:

s/class="node ad"//g

Это удалило бы все случаи той строки.

Если Вы хотите соответствовать целой строке, Вы могли бы использовать:

s/^.*some_string.*$//g

Где ^ специальный символ, означающий "начало строки", $ означает "конец строки", . средства любой символ и * нуль средств или больше повторений того символа.

Таким образом, это соответствовало бы "нулю или большему количеству повторений любого символа", затем "some_string", и затем "нуль или больше повторений любого символа" снова (который должен достигнуть того, что Вы хотите).

Вот хорошее введение в регулярные выражения, если Вы хотите узнать больше.

0
09.01.2013, 11:49
1 ответ

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

Следующие работы над debian (и производные как человечность). Процедура концептуально подобна, но значительно отличается по деталям о RH/Centos и других дистрибутивах.

  • apt-get install os-prober (пакет, который добавляет поддержку для расчистки для обнаружения других операционных систем и добавления их к меню личинки),

  • править /etc/default/grub так, чтобы это имело:

    GRUB_DEFAULT=saved  
    GRUB_SAVEDEFAULT=true  

Дополнительно набор GRUB_TIMEOUT=5 или =10, чтобы дать Вам достаточно времени для выбора записи меню.

Удалите или прокомментируйте все упоминание строк HIDDEN, такой как GRUB_HIDDEN_TIMEOUT - Ubuntu нравится скрывать меню личинки по некоторым причинам.

Это настроит личинку так, чтобы независимо от того, что Вы выбираете из меню, стал значением по умолчанию, пока Вы не выбираете что-то еще.

  • выполненный update-grub

  • в следующий раз Вы загружаете, выбираете Windows. Это теперь будет опция по умолчанию.

Можно также использовать grub-set-default как базируются из командной строки Linux для ручного выбора, какая запись меню личинки будет значением по умолчанию. например, если Windows является 5-й записью меню в списке, то grub-set-default 5 сделает это значением по умолчанию.

Можно перечислить записи меню личинки с простым grep как:

egrep 'submenu|menuentry' /boot/grub/grub.cfg | cat -n

или что-то немного более необычное как:

sed -r -n -e '/submenu|menuentry/{s/(["'\'']) .*/\1/;p}'

Будьте осторожны: нумерация становится сложной, если существуют какие-либо подменю личинки. Простое grep | cat -n не разберется в нумерации, необходимо было бы записать сценарий для парсинга grub.cfg файла. легче в этом случае использовать grub-set-default с полным именем записи меню вместо числа.

например, учитывая следующее,

# sed -r -n -e '/submenu|menuentry/{s/(["'\'']) .*/\1/;p}' /boot/grub/grub.cfg | cat -n
     1  menuentry 'Ubuntu, with Linux 3.2.0-27-virtual'
     2  menuentry 'Ubuntu, with Linux 3.2.0-27-virtual (recovery mode)'
     3  submenu "Previous Linux versions"
     4  menuentry 'Ubuntu, with Linux 3.2.0-24-virtual'
     5  menuentry 'Ubuntu, with Linux 3.2.0-24-virtual (recovery mode)'
     6  menuentry "Memory test (memtest86+)"
     7  menuentry "Memory test (memtest86+, serial console 115200)"

grub-set-default 4 не будет работать, потому что нумерация искажена фактом, это находится в подменю. Использовать grub-set-default 'Ubuntu, with Linux 3.2.0-24-virtual' вместо этого.

Существует также a grub-reboot команда, которая устанавливает запись в начальную загрузку для следующей перезагрузки только - после этого, она возвращается к предыдущему значению по умолчанию. Это полезно для, например, тестируя новое ядро.

4
28.01.2020, 02:21

Теги

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