Ejecuto Ubuntu 14.04 y siempre actualizo periódicamente (casi todos los días). Hoy, 8 de julio, la actualización de Ubuntu se comportó de manera diferente a lo habitual. Decía "No se pueden instalar todas las actualizaciones" y sugería una "Actualización parcial". Nunca lo intenté, pero confío en Ubuntu. Una de las cosas que noté en la lista de actualizaciones fue el gestor de arranque GRUB, pero bueno, confío en Ubuntu.
Una vez completado, me pidió que reiniciara y cuando lo hago, arranca directamente en Windows. Es decir, GRUB se desinstala efectivamente y no tengo opción de si quiero iniciar Ubuntu ahora. No soy un tiburón ni en Linux ni en Windows, pero me siento mucho más discapacitado en Windows 8 (simplemente viene incluido).
¿Ubuntu sigue presente en la computadora portátil? En caso afirmativo, ¿cómo puedo volver a él lo antes posible? (Tengo que hacer una presentación el fin de semana y configurar un nuevo sistema y obtener datos de respaldo es lento).
No se pudo instalar grub siguiendo la respuesta de Christian Benke
Ahora estoy probando el sistema con una memoria USB de Ubuntu.
ubuntu@ubuntu:~$ sudo parted -l
Model: ATA TOSHIBA THNSNJ25 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 1075MB 1074MB ntfs Basic data partition hidden, diag
2 1075MB 1180MB 105MB fat32 Basic data partition boot
3 1180MB 1314MB 134MB ntfs Basic data partition msftres
4 1314MB 44.7GB 43.4GB ntfs Basic data partition msftdata
6 44.7GB 46.7GB 2000MB linux-swap(v1)
7 46.7GB 244GB 197GB ext4
5 244GB 256GB 12.1GB ntfs Basic data partition hidden, diag
Un rápido "sudo mkdir /media/[mountpoint]" seguido de "sudo mount /dev/sda[X] /media/[mountpoint]" permitió inspeccionar las particiones:
/dev/sda1 Windows boot files
/dev/sda2 EFI files
/dev/sda3 Empty
/dev/sda4 Windows system
/dev/sda5 Toshiba recovery
/dev/sda6 Ubuntu swap partition (not mountable)
/dev/sda7 Ubuntu system
Obviamente, /dev/sda7 es con lo que quiero continuar.
ubuntu@ubuntu:~$ sudo mkdir /media/oldroot
ubuntu@ubuntu:~$ sudo mount /dev/sda7 /media/oldroot
ubuntu@ubuntu:~$ sudo mount --bind /dev /media/oldroot/dev
ubuntu@ubuntu:~$ sudo mount --bind /proc /media/oldroot/proc
ubuntu@ubuntu:~$ sudo mount --bind /sys /media/oldroot/sys
ubuntu@ubuntu:~$ sudo chroot /media/oldroot /bin/sh
# lsb_release -d
Description: Ubuntu 14.04.2 LTS
# grub-install /dev/sda
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.
# exit
Claramente, grub-install no encontró los archivos EFI en /dev/sda2, pero montarlos de antemano en /media/oldroot/boot/efi pareció funcionar bien:
ubuntu@ubuntu:~$ sudo mount /dev/sda2 /media/oldroot/boot/efi
ubuntu@ubuntu:~$ sudo chroot /media/oldroot /bin/sh
# lsb_release -d
Description: Ubuntu 14.04.2 LTS
# grub-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.
# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.16.0-43-generic
Found initrd image: /boot/initrd.img-3.16.0-43-generic
Found linux image: /boot/vmlinuz-3.16.0-41-generic
Found initrd image: /boot/initrd.img-3.16.0-41-generic
Found linux image: /boot/vmlinuz-3.16.0-40-generic
Found initrd image: /boot/initrd.img-3.16.0-40-generic
Found linux image: /boot/vmlinuz-3.16.0-39-generic
Found initrd image: /boot/initrd.img-3.16.0-39-generic
Found linux image: /boot/vmlinuz-3.16.0-38-generic
Found initrd image: /boot/initrd.img-3.16.0-38-generic
Found linux image: /boot/vmlinuz-3.16.0-37-generic
Found initrd image: /boot/initrd.img-3.16.0-37-generic
Found linux image: /boot/vmlinuz-3.16.0-36-generic
Found initrd image: /boot/initrd.img-3.16.0-36-generic
Found linux image: /boot/vmlinuz-3.16.0-34-generic
Found initrd image: /boot/initrd.img-3.16.0-34-generic
Found linux image: /boot/vmlinuz-3.16.0-33-generic
Found initrd image: /boot/initrd.img-3.16.0-33-generic
Adding boot menu entry for EFI firmware configuration
done
# exit
Sin embargo, esto no resolvió el problema. Al reiniciar, ¿GRUB no apareció y volvió a ingresar directamente a Windows? Gracias hasta ahora, ¿cuál parece ser el problema esta vez?
No poder reinstalar los paquetes afectados
Como se sugirió, miro el archivo apt/history.log para ver qué sucedió durante la "actualización parcial" que detuvo el funcionamiento de GRUB. Desafortunadamente, no contiene ninguna entrada para la actualización del 8 de julio:
ubuntu@ubuntu:~$ cat /media/summer7/var/log/apt/history.log
Start-Date: 2015-07-03 09:32:40
Commandline: aptdaemon role='role-commit-packages' sender=':1.79'
Upgrade: lightdm:amd64 (1.10.5-0ubuntu1, 1.10.5-0ubuntu1.1), liblightdm-gobject-1-0:amd64 (1.10.5-0ubuntu1, 1.10.5-0ubuntu1.1)
End-Date: 2015-07-03 09:32:42
Start-Date: 2015-07-05 20:02:01
Commandline: aptdaemon role='role-commit-packages' sender=':1.85'
Upgrade: libxcomp3:amd64 (3.5.0.31-0~605~ubuntu14.04.1, 3.5.0.32-0~668~ubuntu14.04.1), nxproxy:amd64 (3.5.0.31-0~605~ubuntu14.04.1, 3.5.0.32-0~668~ubuntu14.04.1), irqbalance:amd64 (1.0.6-2ubuntu0.14.04.1, 1.0.6-2ubuntu0.14.04.2)
End-Date: 2015-07-05 20:02:04
Start-Date: 2015-07-07 20:00:24
Commandline: aptdaemon role='role-commit-packages' sender=':1.81'
Install: linux-image-3.16.0-43-generic:amd64 (3.16.0-43.58~14.04.1), linux-headers-3.16.0-43:amd64 (3.16.0-43.58~14.04.1), linux-headers-3.16.0-43-generic:amd64 (3.16.0-43.58~14.04.1), linux-image-extra-3.16.0-43-generic:amd64 (3.16.0-43.58~14.04.1), linux-signed-image-3.16.0-43-generic:amd64 (3.16.0-43.58~14.04.1)
Upgrade: linux-signed-image-generic-lts-utopic:amd64 (3.16.0.41.33, 3.16.0.43.34), libfontembed1:amd64 (1.0.52-0ubuntu1.4, 1.0.52-0ubuntu1.5), linux-image-generic-lts-utopic:amd64 (3.16.0.41.33, 3.16.0.43.34), cups-browsed:amd64 (1.0.52-0ubuntu1.4, 1.0.52-0ubuntu1.5), linux-signed-generic-lts-utopic:amd64 (3.16.0.41.33, 3.16.0.43.34), cups-filters-core-drivers:amd64 (1.0.52-0ubuntu1.4, 1.0.52-0ubuntu1.5), cups-filters:amd64 (1.0.52-0ubuntu1.4, 1.0.52-0ubuntu1.5), libgtksourceview2.0-0:amd64 (2.10.5-1ubuntu2, 2.10.5-1ubuntu2.14.04.1), linux-generic-lts-utopic:amd64 (3.16.0.41.33, 3.16.0.43.34), linux-libc-dev:amd64 (3.13.0-55.94, 3.13.0-57.95), libgtksourceview2.0-common:amd64 (2.10.5-1ubuntu2, 2.10.5-1ubuntu2.14.04.1), linux-headers-generic-lts-utopic:amd64 (3.16.0.41.33, 3.16.0.43.34), libcupsfilters1:amd64 (1.0.52-0ubuntu1.4, 1.0.52-0ubuntu1.5)
End-Date: 2015-07-07 20:01:11
De hecho, parece un poco pequeño de largo, ¿no? Además, la última entrada fue 2 horas en el futuro en comparación con la última vez que se tocó el archivo:
ubuntu@ubuntu:~$ ls -l /media/summer7/var/log/apt/history.log
-rw-r--r-- 1 root root 1925 Jul 7 18:01 /media/summer7/var/log/apt/history.log
Entonces, ¿quizás estamos ante un archivo dañado? Bueno, probé una actualización de apt-get y no funcionó:
ubuntu@ubuntu:~$ sudo mount --bind /dev /media/oldroot/dev
ubuntu@ubuntu:~$ sudo mount --bind /proc /media/oldroot/proc
ubuntu@ubuntu:~$ sudo mount --bind /sys /media/oldroot/sys
ubuntu@ubuntu:~$ sudo chroot /media/oldroot apt-get update
No se pudo recuperar todo con el error "no se pudo resolver", muy parecido aesta pregunta. Lo siguiente falla
ubuntu@ubuntu:~$ sudo chroot /media/oldroot ping dk.archive.ubuntu.com
ping: unknown host dk.archive.ubuntu.com
y el archivo /media/oldroot/etc/resolv.conf está completamente vacío. ¿Es esta una mala señal?
Respuesta1
A mí me pasó el mismo problema el mismo día que a ti. Estaba trabajando en algunas cosas, Ubuntu sugirió una actualización parcial, la cumplí y luego pasé la mayor parte de ayer intentando reinstalar grub (sin éxito).
Mi instalación fue un arranque dual con Windows 8.1, por lo que aparte de las particiones de Windows tenía tres particiones de Linux: una para el sistema ("/"), otra para el hogar ("/home") y otra para el intercambio. No pude reinstalar grub usando la reparación de arranque, así que inicié usando una memoria USB de Ubuntu y lancé el instalador.
Cuando me preguntó qué quería hacer, seleccioné otra cosa. Luego configuré mi directorio de sistema original "/" como la partición raíz y le dije al instalador que lo formateara, configuré swap como swap y mi directorio de inicio como "/home", pero le dije al instalador que no formateara el directorio de inicio.
También le dije al instalador que instalara el gestor de arranque en el disco (/dev/sda en mi caso), no en una partición. La instalación se completó, al reiniciar apareció grub y pude reiniciar en Ubuntu y Windows 8.1.
Mi directorio de inicio estaba completamente intacto, el fondo de mi escritorio y .bashrc se cargaron automáticamente, y una vez que comencé a reinstalar programas, volví a iniciar sesión automáticamente en teamviewer, chrome, etc.
Si tiene particiones /home y system separadas, esta puede ser la mejor solución. No se pierden datos y la reinstalación no lleva mucho tiempo.
Respuesta2
Puede utilizar un pequeño sistema en vivo de arranque comogrmly el comandochrootpara volver a su antiguo sistema y reparar el gestor de arranque roto.
Después de haber iniciado desde el live-cd, desea obtener acceso al sistema de archivos de su sistema Linux instalado. Entonces, lo primero que debe hacer es montar la partición raíz del Linux instalado (como usuario raíz en su entorno de CD en vivo):
# mkdir /media/oldroot
# mount /dev/sda1 /media/oldroot
Si no está seguro de cuál es su partición de Linux, monte todas las particiones disponibles y verifique cuál es su partición raíz.
El siguiente paso para conseguir un entorno chroot funcional es montar los pseudosistemas de archivos (/desarrollador,/proceso,/sistema) desde su entorno de CD en vivo dentro de la partición raíz que acabamos de montar:
# mount --bind /dev /media/oldroot/dev
# mount --bind /proc /media/oldroot/proc
# mount --bind /sys /media/oldroot/sys
Ahora nuestro sistema está listo para ser chroot, lo que significa que usted "reemplaza" el entorno de su live-cd por el sistema instalado (también le decimos que use/bin/shcomo símbolo del sistema en el entorno instalado:
# chroot /media/oldroot /bin/sh
#
Verifique que esté en su antiguo Linux instalado:
# lsb_release -d
Description: Ubuntu 14.04.2 LTS
Desde el chroot intenta ejecutar
# grub-install /dev/sda
para reinstalar el grub-bootloader en el registro de arranque maestro de su disco duro.
Si grub2 realmente se ha desinstalado y grub-install no existe, puede reinstalarlo copiando el paquete grub2 en una memoria USB:
Descargue el archivo deb desdehttp://packages.ubuntu.com/trusty/grub2y copiarlo a una memoria USB. Monte la memoria USB dentro de su chroot (use Alt-F2 para obtener un segundo tty en el entorno del live-cd para montar la memoria USB, luego vuelva al entorno chroot con Alt-F1):
-- Press <Alt-F2> to get to the second tty of the live-cd-env
# mkdir /media/oldroot/media/<yourusername>/usb_stick
# mount /dev/sdb1 /media/oldroot/media/<youruser>/usb_stick
-- Press <Alt-F1> to get back to the first tty to our chroot
# cd /media/<yourusername>/usb_stick
# ls
dpkg -i grub2_2.02~beta2-9_amd64.de
# dpkg -i grub2_2.02~beta2-9_amd64.deb
Después de eso, continúa coninstalación de grub.