17.10 Неправильное разрешение в grub & amp; загрузочный экран загрузки и amp; экран входа в систему

Я недавно читал об этом, и хотя это было конкретно о ext2, я считаю, что ext3 и ext4 похожи, если не совпадают.

Давайте назовем ваш физический жесткий диск sda , На самом высоком уровне ваш диск сначала разбивается на отдельные разделы. Каждый раздел получает свою собственную файловую систему, которая решает, как управлять файлами на этом разделе. Например, у вас может быть Windows на sda1 с использованием файловой системы NTFS, Ubuntu на sda2 с использованием файловой системы ext4 и Swap на sda3, которая не использует файловую систему. В начале sda, перед началом перегородок, есть две вещи. Во-первых, загрузочный сектор, который загружает BIOS при запуске и, вероятно, содержит grub. Во-вторых, таблица разделов, в которой перечислены сведения о том, где все разделы начинаются и заканчиваются на диске. Вы можете узнать подробности о своих разделах с помощью sudo fdisk -l.

Внутри раздела ext4 на sda2 раздел далее делится на группы блоков. Внутри группы блоков сначала суперблок, который дает важную информацию о файловой системе и свободном пространстве. После нескольких областей, используемых файловой системой, являются inodes. Каждый индексный дескриптор содержит список местоположений до 12 блоков данных. Каждый индексный дескриптор также может иметь ссылку на до трех других инодов. Конечная область в группе блоков предназначена для фактических данных и делится на блоки (обычно 4 КБ каждая).

Каждый каталог, файл и ссылка имеют уникальный индекс. Данные в файлах содержатся во многих разных дисковых блоках, которые могут быть в любом месте на диске. В файле inode перечислены места, где можно найти все потенциально разбросанные блоки данных. Аналогично, содержимое каждого каталога сохраняется как данные таким же образом.

Когда вы открываете файл, например /home/user/contacts.txt, сначала компьютер находит inode для корневого каталога, который всегда знает, где найти. Индекс показывает расположение всех блоков данных, которые описывают содержимое каталога. Затем компьютер выполняет поиск блоков данных для записи под названием «home». Запись для каталога home сообщает, где найти индексный дескриптор для home на диске. Затем он ищет в этом inode, ищет указанные блоки для user и повторяет процесс, чтобы найти файл contacts.txt, в индекс которого перечислены блоки, содержащие содержимое файла.

Если вы хотите переместите contacts.txt в /home, сначала вам нужно сделать все, что описано выше, чтобы найти inode файла. Затем компьютер должен перейти к inode для /home (что будет быстро, потому что Linux поддерживает кеш-память индексов недавно доступных каталогов, называемых кэшем dentry) и добавляет contacts.txt в блоки данных каталога. Затем он должен перейти к inode user и выполнить поиск его блоков данных для contacts.txt и удалить его запись.

Поэтому, если оба местоположения находятся на одном разделе, блоки данных файла никогда не будут фактически переехал. Ссылка inode для файла будет просто перемещена из блоков данных каталога источника в блоки данных целевого каталога. Если одно местоположение находится на другом разделе, который считается полностью отдельной файловой системой, запись inode файла будет удалена, скопированные блоки данных и новая запись inode, созданная в блоках данных соответствующего каталога.

[d7 ] Также есть еще одна вещь, которая продолжается в фоновом режиме на ext3 и ext4. Это называется ведение журнала, и это помогает обеспечить целостность файловой системы, несмотря на сбои. Каждый раз, когда происходит файловая операция, файловая система записывает запись в журнал, описывая, что она собирается делать. Запись удаляется только после завершения каждой описанной операции. Таким образом, когда компьютер запускается после сбоя в середине операций с файлами, он сразу же видит выдающиеся записи в журнале и может попытаться устранить проблемы.

Источник: современные операционные системы 3e by Andrew С. Таненбаум

0
задан 11 November 2017 в 19:29

3 ответа

Объясняя некоторые ответы и комментарии в основном из этого вопроса, и большинство из следующего ответа ответят на ответ artfulrobot

1) Включите

2) В меню grub нажмите c, чтобы получить строка командной строки grub

3) Тип videoinfo В этом списке перечислены все режимы - это ширина & lt; width & gt; x & lt; height & gt; вам нужно отметить. Только режимы, перечисленные здесь, будут работать и могут не включать требуемое разрешение.

4) Возможно, существует команда videotest, которую вы можете использовать для проверки данного разрешения, например. [F4]. Однако, хотя этот тест работал для меня, я не мог вернуться в меню grub! Это не так полезно (если никто не может объяснить, как избежать теста.)

5) Запустите команду normal, чтобы вернуться в обычное меню grub.

6) Загрузитесь полностью и в терминальном режиме sudo nano /etc/default/grub. Поэтому не комментируйте и установите следующие строки в нужный вам режим. Вам также может понадобиться добавить nomodeset.

GRUB_GFXMODE=1280x1024
GRUB_GFXPAYLOAD="keep"
GRUB_CMDLINE_LINUX="nomodeset"

6) Запустите update-grub и перезагрузитесь.

1
ответ дан 22 May 2018 в 16:19
  • 1
    Мое родное разрешение отсутствует в списке видеоинформации, и оно не работает, когда установлено в GRUB_GFXMODE. Когда я устанавливаю nomodeset, все остальные разрешения больше не доступны в системных настройках. Я закончил тем, что добавил GRUB_GFXMODE более низкое разрешение, разрешение автоматически настраивается на собственный, и установите GRUB_GFXPAYLOAD = " keep " – g_t_sync 12 November 2017 в 00:08
  • 2
    Да, разрешения, перечисленные в «videoinfo», являются единственными, поддерживаемыми grub на определенном наборе аппаратных средств. – J. Starnes 12 November 2017 в 00:12
  • 3
    Это работает только для первых 1-2 перезагрузок, а затем возвращается к предыдущему поведению. Если я запустил update-grub, он будет временно исправлен до следующего дня. – g_t_sync 12 November 2017 в 12:53

Объясняя некоторые ответы и комментарии в основном из этого вопроса, и большинство из следующего ответа ответят на ответ artfulrobot

1) Включите

2) В меню grub нажмите c, чтобы получить строка командной строки grub

3) Тип videoinfo В этом списке перечислены все режимы - это ширина & lt; width & gt; x & lt; height & gt; вам нужно отметить. Только режимы, перечисленные здесь, будут работать и могут не включать требуемое разрешение.

4) Возможно, существует команда videotest, которую вы можете использовать для проверки данного разрешения, например. [F4]. Однако, хотя этот тест работал для меня, я не мог вернуться в меню grub! Это не так полезно (если никто не может объяснить, как избежать теста.)

5) Запустите команду normal, чтобы вернуться в обычное меню grub.

6) Загрузитесь полностью и в терминальном режиме sudo nano /etc/default/grub. Поэтому не комментируйте и установите следующие строки в нужный вам режим. Вам также может понадобиться добавить nomodeset.

GRUB_GFXMODE=1280x1024 GRUB_GFXPAYLOAD="keep" GRUB_CMDLINE_LINUX="nomodeset"

6) Запустите update-grub и перезагрузитесь.

1
ответ дан 18 July 2018 в 03:29

Объясняя некоторые ответы и комментарии в основном из этого вопроса, и большинство из следующего ответа ответят на ответ artfulrobot

1) Включите

2) В меню grub нажмите c, чтобы получить строка командной строки grub

3) Тип videoinfo В этом списке перечислены все режимы - это ширина & lt; width & gt; x & lt; height & gt; вам нужно отметить. Только режимы, перечисленные здесь, будут работать и могут не включать требуемое разрешение.

4) Возможно, существует команда videotest, которую вы можете использовать для проверки данного разрешения, например. [F4]. Однако, хотя этот тест работал для меня, я не мог вернуться в меню grub! Это не так полезно (если никто не может объяснить, как избежать теста.)

5) Запустите команду normal, чтобы вернуться в обычное меню grub.

6) Загрузитесь полностью и в терминальном режиме sudo nano /etc/default/grub. Поэтому не комментируйте и установите следующие строки в нужный вам режим. Вам также может понадобиться добавить nomodeset.

GRUB_GFXMODE=1280x1024 GRUB_GFXPAYLOAD="keep" GRUB_CMDLINE_LINUX="nomodeset"

6) Запустите update-grub и перезагрузитесь.

1
ответ дан 24 July 2018 в 17:51

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

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