Двойная загрузка Debian и Windows сразу загружают Windows

Он не работает, потому что вы пытаетесь вложить незачеркнутые обратные символы:

VARIA=`head -$((${RANDOM} % `wc -l < file` + 1)) file | tail -1`

На самом деле он пытается сначала выполнить head -$((${RANDOM} % как одну команду, и это дает вам 2 первые ошибки:

$ VARIA=`head -$((${RANDOM} % `
bash: command substitution: line 1: unexpected EOF while looking for matching `)'
bash: command substitution: line 2: syntax error: unexpected end of file

Затем он пытается выполнить

wc -l < file` + 1)) file | tail -1`

Что означает, что он пытается оценить + 1)) file | tail -1 (который находится между обратными знаками), и это дает следующие ошибки:

$ wc -l < file` + 1)) file | tail -1`
bash: command substitution: line 1: syntax error near unexpected token `)'
bash: command substitution: line 1: ` + 1)) file | tail -1'

Вы можете обойти это, экранируя обратные знаки:

VARIA=`head -$((${RANDOM} % \`wc -l < file\` + 1)) file | tail -1`

Однако, как правило, лучше не использовать обратные знаки вообще. Вместо них почти всегда следует использовать $(). Они более надежны и могут быть вложены бесконечно, а их синтаксис проще:

VARIA=$(head -$((${RANDOM} % $(wc -l < file) + 1)) file | tail -1)
2
16.07.2017, 01:30
1 ответ

Описание проблемы:

Вы устанавливаете Debian в режиме совместимости с BIOS (Устаревший BIOS ), но Windows уже установлена ​​в новом режиме UEFI. Это связано с тем, что grubне видит загрузчик Windows, и вы не можете выбрать Debian в меню загрузки. Загрузиться можно, но только напрямую с жесткого диска (SATA :ST2000... )Для решения этой проблемы необходимо переустановить Debian тоже в режиме UEFI.

Из вики Debian

On the PC architectures (amd64 and i386), UEFI-based firmware is a relatively new replacement for the ancient BIOS (Basic Input/Output System) that has existed ever since the PC was first developed in the 1980s. The old BIOS systems have strict limitations due to their ancient design, running in 16-bit mode with access to only 1MB of memory, and limited access to other resources like disks. UEFI firmware is normally fully native and so should be able to access all the system memory and all the devices.

For the sake of backwards compatibility, most current PCs using UEFI also include a Compatibility Support Module (CSM), extra support code that will continue to boot in the old BIOS style. Over time, this support will most likely be phased out. Some systems were already being sold UEFI-only (i.e. with no CSM) in 2014.

Решение:

Для установки Debian в режиме UEFI необходимо:

Первый вариант

  • Вставьте носитель для установки (USB, DVD)
  • Вход в меню загрузки при запуске ПК (удерживание F8 в моем случае -Материнская плата Asus)
  • На моем компьютере есть два элемента для этого носителя в меню загрузки -один для загрузки Legacy BIOS, а другой для загрузки UEFI. Выберите пункт UEFI.

enter image description here

Вариант второй (Фото примера нашел в инете)

Отключить модуль поддержки совместимости (CSM )в настройках UEFI:

enter image description here

Или измените режим загрузки на UEFI, например:

enter image description here

Затем на экране-заставке установщика Debian будет указано, что это установщик UEFI, и он будет выглядеть следующим образом:

enter image description here

Полезная информация:

1
27.01.2020, 22:18

Теги

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