es diferente, en este caso, la carpeta / boot se eliminó por completo. no solo algunos archivos, gracias.
Imad Nouari
No creo que ninguna de las respuestas sobre la otra pregunta sea suficiente para solucionar esto ...
Graeme
Muy bien, realmente no leí todas las respuestas. Siempre sugeriría reconstruir todo en lugar de perder el tiempo tratando de resolver lo que faltaba, así que asumí que alguien allí también lo habría hecho. Toma la mitad del tiempo.
Tentáculos de Cthulhu el
77
El error mucho mayor en comparación con la eliminación /bootes, por supuesto, reiniciar el sistema antes de que esto se solucione.
Anthon el
Respuestas:
36
¡Uy!
Esto es lo que debes hacer:
Arranca una distribución en vivo. Este puede ser su disco de instalación de Ubuntu u otro como Knoppix .
Encuentre la unidad / partición donde ha instalado su sistema de archivos raíz. Para hacer esto, puede abrir una terminal y ejecutar sudo parted -lo sudo fdisk -l. Si no puede saberlo, edite su pregunta y agregue el resultado.
Suponiendo que su partición raíz que encontró en el último paso es /dev/sdxy( xdebería ser otra letra y ydebería ser un número), ejecute los siguientes comandos en un terminal:
mkdir mnt
sudo mount /dev/sdxy mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot mnt
Ahora estará dentro de un chrootentorno, lo que significa que ejecutar comandos aquí es equivalente a ejecutarlos en su sistema instalado. Lo primero que debe hacer es reinstalar GRUB2 en el dispositivo para que copie los archivos correctos en la /bootcarpeta. Para hacer esto, ejecute lo siguiente con la unidad en la que está su partición raíz (es decir, /dev/sdxycon el número ( y) eliminado):
grub-install /dev/sdx
Ahora desea averiguar qué paquetes ha instalado que tienen archivos en el directorio de arranque y reinstalarlos. Esto reemplazará las imágenes del núcleo que se han eliminado, entre otras cosas. El comando para encontrar los paquetes es:
dpkg -S /boot
Y para reinstalarlos:
apt-get --reinstall install ...
Donde ...se reemplaza con los nombres de los paquetes del primer comando. No incluya las comas, solo tenga los nombres de los paquetes con espacios para separar.
Este paso probablemente requerirá acceso a Internet (a menos que los paquetes ya estén en la caché), así que asegúrese de estar conectado si hay un problema.
Como habrá eliminado sus núcleos y reinstalado, esto debería haber desencadenado una actualización GRUB2 automáticamente. Pero en caso de que no lo hayan hecho, puede ejecutar:
update-grub
Reiniciar y las cosas ahora deberían estar arregladas. Un problema que tuve la última vez que hice algo similar fue que las instalaciones de Windows no se encontraban update-grubcuando se ejecutaban chrootdebido a un error os-prober. Si esto es un problema, simplemente sudo update-grubvuelva a ejecutarlo en el sistema reparado.
@ Olivier, gracias que originalmente tenía en /dev/sdaxtodas partes y luego lo cambié a /dev/sdxy.
Graeme
Gracias por la gran información, me salvó, con una adición. Como tengo un RAID de software, también tuve que seguir las instrucciones aquí: help.ubuntu.com/community/Grub2/Installing bajo la reinstalación usando el método chroot para iniciar mdadm y ensamblar los miembros RAID y hacer los montajes en consecuencia. Luego, después de chroot, reinstale los paquetes como se describe en esta respuesta y ¡todo está bien!
/boot
es, por supuesto, reiniciar el sistema antes de que esto se solucione.Respuestas:
¡Uy!
Esto es lo que debes hacer:
Arranca una distribución en vivo. Este puede ser su disco de instalación de Ubuntu u otro como Knoppix .
Encuentre la unidad / partición donde ha instalado su sistema de archivos raíz. Para hacer esto, puede abrir una terminal y ejecutar
sudo parted -l
osudo fdisk -l
. Si no puede saberlo, edite su pregunta y agregue el resultado.Suponiendo que su partición raíz que encontró en el último paso es
/dev/sdxy
(x
debería ser otra letra yy
debería ser un número), ejecute los siguientes comandos en un terminal:Ahora estará dentro de un
chroot
entorno, lo que significa que ejecutar comandos aquí es equivalente a ejecutarlos en su sistema instalado. Lo primero que debe hacer es reinstalar GRUB2 en el dispositivo para que copie los archivos correctos en la/boot
carpeta. Para hacer esto, ejecute lo siguiente con la unidad en la que está su partición raíz (es decir,/dev/sdxy
con el número (y
) eliminado):Ahora desea averiguar qué paquetes ha instalado que tienen archivos en el directorio de arranque y reinstalarlos. Esto reemplazará las imágenes del núcleo que se han eliminado, entre otras cosas. El comando para encontrar los paquetes es:
Y para reinstalarlos:
Donde
...
se reemplaza con los nombres de los paquetes del primer comando. No incluya las comas, solo tenga los nombres de los paquetes con espacios para separar.Este paso probablemente requerirá acceso a Internet (a menos que los paquetes ya estén en la caché), así que asegúrese de estar conectado si hay un problema.
Como habrá eliminado sus núcleos y reinstalado, esto debería haber desencadenado una actualización GRUB2 automáticamente. Pero en caso de que no lo hayan hecho, puede ejecutar:
Reiniciar y las cosas ahora deberían estar arregladas. Un problema que tuve la última vez que hice algo similar fue que las instalaciones de Windows no se encontraban
update-grub
cuando se ejecutabanchroot
debido a un erroros-prober
. Si esto es un problema, simplementesudo update-grub
vuelva a ejecutarlo en el sistema reparado.fuente
/dev/sdax
todas partes y luego lo cambié a/dev/sdxy
.