Как настроить grub для отображения параметров загрузки Debian 10 и Windows 10 с разных дисков?

В дополнение к ответу Стивена Китта вы можете рассмотреть (, особенно если вы сами являетесь разработчиком и если программа — fileв вашем случае — имеет исходный код, который не слишком сложен. чтобы понять )получение исходного кода этой программы (, возможно, из вашего дистрибутива )-, поскольку это бесплатное программное обеспечение-и исправление его, а также отправка исправления.

Если вы потратите время на изучение исходного кода , вы, вероятно, сделаете более качественный отчет об ошибке.

Если вы потратите больше времени на предложение исправления , вас, скорее всего, будут рассматривать более серьезно (и ИМХО вы действуете более в духе свободного программного обеспечения ).

Итак, используйте свободу, предоставляемую свободным программным обеспечением:изучайте его исходный код(свобода #1 )и улучшайте его(свобода #3 ).

Сегодня очень легко публиковать (например. на github)вашу улучшенную версию и поделитесь ею(Freedom #2 ).

Убедитесь, что установлена ​​последняя версия программы file. Многие дистрибутивы не используют этот (и, возможно, ошибка в вашем дистрибутиве уже исправлена ​​вышестоящим ).

Я не уверен, что ваше --correct_extensionповедение принадлежит file(, которая является программой для запроса , а не изменения ваших данных ). Но если это так, его, вероятно, следует писать по буквам --correct-extensionили --rename-extension... И как только вы попытаетесь реализовать это, вы можете обнаружить, что есть странные угловые случаи (как насчет сжатого tar-файла или сжатого Исходный файл C или что-то, для чего может потребоваться несколько расширений файла ).

Обратите внимание, что (в отличие от Windows )в Linux и Unix файл на самом деле является inode(см. inode (7)может иметь несколько имен(или нет ),и могут быть открыты несколькими процессами одновременно (читать о файловых дескрипторах)-или вообще не открываться, даже если большинство файлов имеют только одно имя (, но см. ссылку (2)и стат (2)). Поскольку один и тот же файл может называться foo.txtи bar.gz, не имеет большого смысла придавать большое значение расширениям файлов. См. также путь _разрешение (7).

Итак, если вы попытаетесь реализовать свою correct-extensionидею, вы обнаружите, что реализовать (и даже указать )не так просто, и что для этого нет очевидного простого поведения.

Вероятно, ваша идея не очень хороша и не может быть легко реализована в системах Linux и POSIX (, по крайней мере, не для всех случаев ).

Поэтому я рекомендую даже не отправлять запрос функции (в его первоначальной форме, это потеря времени для вас и для разработчиковfile). Или еще много работать над ним, улучшать его характеристики и отправлять патч.... Конечно, вы потратите много работы на это (, и я действительно не думаю, что это стоит боли ). ].

Возможно, вы также прочитаете какую-нибудь книгу по программированию для Unix (, например старую ALP или что-нибудь поновее; а также введение (2)и системные вызовы (2)Операционные системы :Three Easy Pieces.

2
07.04.2020, 12:30
1 ответ

Решил. Зонд os -никогда ничего не возвращал с терминала, работающего от root (sudo -i ). Однако то, что сработало:

Я добавил эту запись в список Grub (с помощью настройщика grub -или отредактировав файл /etc/grub/40 _custom напрямую)

menuentry "Windows 10 (UEFI)" {
search --set=root --file /EFI/Microsoft/Boot/bootmgfw.efi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Помощь отсюда:https://askubuntu.com/questions/211339/invalid-efi-file-path-while-booting-windows

1
28.04.2021, 23:18

Теги

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