Repara Windows MBR usando Ubuntu Live CD y la herramienta ms-sys


13

Estoy tratando de arreglar el MBR usando Ubuntu live CD. Ya tengo instalado el ms-sys pero de los hilos que vi, no estoy completamente seguro en qué / dev debo ejecutar el comando:

sudo ms-sys --mbr7 /dev/???

(¿Es mbr7 la opción correcta cuando se usa Windows 7?)

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1f205b1f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          38          38           0    0  Empty
/dev/sda2   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda3          206848   155854847    77824000    7  HPFS/NTFS/exFAT
/dev/sda4       155854848   625137663   234641408    7  HPFS/NTFS/exFAT
ubuntu@ubuntu:~$ 

¿Por qué está /dev/sda1vacío?

Estoy tratando de arreglar el MBR porque recibo una pantalla negra cuando intento cargar el sistema operativo.

Respuestas:


7

Para restaurar el MBR, el método aceptado es usar un CD de Windows. No teníamos ese lujo. Afortunadamente, tuvimos un Ubuntu Live USB en la mano.

El método para arreglar el MBR es:

  1. Arranque la máquina con el Live USB / CD.
  2. Instalar lilo sudo apt-get install lilo
  3. Arregle el MBR usando lilo usando el comando: sudo lilo -M /dev/sda mbr

¡Funciona de maravilla!


1
BG-Rescue Linux también tiene LILO y solo tiene 4 MB
Steven Penny

4

Primero, su tabla de particiones parece tener dos particiones activas, lo que puede evitar que su computadora se inicie incluso si soluciona el problema del MBR.

El arranque MBR de Windows es un poco raro porque usa un MBR "predeterminado" para cargar el MBR de la partición activa. Antes de cambiar los registros de arranque, intente desmarcar una de las particiones y arrancar.

Si eso no funciona, mbrpuede valer la pena analizar el paquete . Es capaz de instalar el MBR "predeterminado" en su disco, que solo carga el código de arranque desde la partición activa.

Según su pregunta, lea / siga estos puntos bajo su propio riesgo. Este material tiene la capacidad de estropear su tabla de particiones. Haz una copia de seguridad usando dd if=/dev/sda of=table.bin bs=512 count=1primero. También recomendaría hacer una copia de seguridad de todos sus archivos. Si entiendo los documentos correctamente, hacer estos comandos sin -wpuede evitar que escriban algo sin intervención adicional del usuario.

  • ms-sys /dev/sda inspeccionará las particiones de disco duro
  • Por favor lea la documentación aquí . Por lo que deduzco, ms-syspuede ser bastante peligroso y está diseñado para eliminar todo su MBR junto con la tabla de particiones en varias situaciones. Parece que está utilizando la utilidad incorrecta para el trabajo.
  • ms-sys --ntfs /dev/sdaX¿Dónde sdaXestá tu partición con Windows 7? Esto podría hacer lo que espera, pero probablemente no.

Creo que tienes la utilidad incorrecta para el trabajo aquí. Esto no "repara" los MBR, los destruye y los crea. Puede tener suerte y hacer que la nueva tabla de particiones se alinee con la nueva, pero no contaría con eso. Intente arrancar un CD de grub y escribir chainloader (hd0,<win7 partition>)+1en el indicador y ver si arranca. Esto ayudará a diagnosticar dónde está su problema. Si no funciona, use su instalación de Windows dist para arreglar el MBR.


2

Aquí están las dos soluciones que me han funcionado.

Inicie Linux y asegúrese de tener una conexión a Internet que funcione y escriba lo siguiente en el terminal.

1. Solución

sudo apt-get install syslinux

Si el paquete se instaló, use el siguiente comando para escribir el MBR:

sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda

2. Solución

sudo apt-get install mbr

Si el paquete se instaló, use lo siguiente para escribir el MBR.

sudo install-mbr -i n -p D -t 0 /dev/sda

Común para ambos

Reemplace sda ​​si desea instalar el MBR en una unidad diferente. No ponga sda1, sda2o sda3. Simplemente póngalo como sdaen el disco duro. Finalmente reinicie y su Windows debería arrancar.


¿ ddBorrará todo el sdadisco?
Pavel Vlasov
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.