Различные модули ведут себя по-разному, когда вы предоставляете одну и ту же опцию несколько раз. Я знаю, что вы можете сказать console =
несколько раз, и вы получите несколько консолей (мы используем это для машин с основными консолями как на их фреймбуферах, так и на последовательном порту).
Однако у вас может быть только один корневой раздел, поэтому root =
почти наверняка перезапишет предыдущее значение, почти наверняка слева направо. Это подтверждается исходным кодом ядра, в init / do_mounts.c
функция root_dev_setup ()
отвечает за действие с параметром root =
, и все это действительно сохраняет ключ параметра в переменной. Параметр загрузки root = 31: 0
переопределяется параметром root = / dev / mtdblock2
, или, по крайней мере, так обстоит дело в дереве исходных текстов 2.6.25, которое я только что проверил.
Кстати, если вы разбираетесь в C, функция name_to_dev_t ()
в том же файле отвечает за анализ значения root =
и очень поучительна. !
Нотация x: y
является стандартным Unixism для major: minor, который является способом идентификации устройств Unix. Традиционно старший был 8-битным числом, идентифицирующим драйвер для оборудования, а второстепенным был 8-битным числом, идентифицирующим само устройство.Есть два пространства имен для основных
номеров: символьные устройства и блочные устройства. Вы можете увидеть и то, и другое, набрав cat / proc / devices
, и вы можете увидеть, что в настоящее время активно, сказав ls -la / dev
. Вот пример:
ls -la /dev/zero /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 12 22:01 /dev/sda
crw-rw-rw- 1 root root 1, 5 Jan 12 22:01 /dev/zero
Первый столбец определяет тип драйвера ( b
для блока, c
для символа). Два столбца слева от Jan
- это старший и младший числа в старшем, второстепенном
формате.
Вы можете указать root =
любому блочному устройству независимо от его имени, используя нотацию major: minor.
Полный список номеров устройств находится в дереве исходных текстов ядра в Documentation / devices.txt
. 31: 0, похоже, относится к / dev / rom0, первой карте ПЗУ в системе.
¡Has desinstalado tus kernels de Linux! :^(El mensaje "Se admite la edición de línea mínima similar a BASH" es el indicador (GRUB )del gestor de arranque --Piense en él como una forma de decirle: "No puedo iniciar su computadora, y no tengo mucho más que hacer, ¿ahora qué?"
Consulte preguntas como ¿Cómo restaurar un sistema después de eliminar accidentalmente todos los núcleos? , que implicará algo como usar un LiveCD para volver a su instalación usando un chroot y reinstalar los paquetes de imágenes de Linux -.
En condiciones normales de funcionamiento, no debería ser necesario eliminar todos los paquetes de imágenes de Linux -, aunque ayuda a ahorrar un espacio significativo para eliminar los más antiguos.