¿Cómo reiniciar Windows 95 después de una copia del HDD byte a byte?

¿Cómo reiniciar Windows 95 después de una copia del HDD byte a byte?

Fondo

Tengo un disco duro PATA muy antiguo (Fujitsu 1998 de 3,2 GB) conectado a una computadora muy antigua (placa base Pentium 2/Asus P2L97) con una partición de arranque (sistema de archivos Windows 95 y Fat32). Como era de esperar, este disco duro muere con una gran cantidad deELEGANTEalertas.

Mi objetivo no es recuperar los datos, sino obtener la copia del disco duro antiguo en el nuevo disco duro (2003 PATA WD 80 GB) para arrancar nuevamente.

Guardé todo el disco duro antiguo con ddrescue(arrancando desderescate del sistema)a un archivo de imagen (rescue.img en una unidad USB) después de conectar el disco duro defectuoso en una computadora más nueva, como se explica en lamanual de rescate. Lamentablemente, cuando intento restaurar la imagen en un disco duro más nuevo, el MBR está dañado y no puedo iniciar.

Lo que hice en detalle:

[root@sysrescue]#  ddrescue /dev/sda /mnt/usb/SAVEDD/rescue.img /mnt/usb/SAVEDD/rescue.mapfile
GNU ddrescue 1.26
Press Ctrl-C to interrupt
ipos:             305664 B,  non-trimmed:  0 B,       current rate:       0 B/s
opos:             305664 B,  non-scraped:  1024 B,    average rate:    184 kB/s
non-tried:        0 B,       bad-sector:   154624 B,  error rate:    1024 B/s
rescued:          3243 MB,   bad areas:    2,         run time:  4h 53m 15s
pct rescued:      99.99%,    read errors:  305,       remaining time:         n/a
Finished

Completoregistro de rescate(7Mo) yarchivo de mapa de rescate

El archivo de imagen se ve bien confdisk

[root@sysrescue]# fdisk -l copy_rescue.img

Disk copy_rescue.img: 3.02 GB, 3243663360 bytes, 6335280 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 label type: dos
Disk identifier: 0x5902d932

Device             Boot   Start      End  Sectors  Size  Id  Type
copy_rescue.img1   *         63  6330239  6330177    3G   b  W95 FAT32

pero filemuestra el MBR y la tabla de particiones corruptos.

[root@sysrescue]# file -s copy_rescue.img
copy_rescue.img: DOS/MBR boot sector MS-MBR 9M english at offset 0x10+0xFF "Invalid partition table" at offset 0x127 "Error loading operating system" at offset 0x146 "Missing operating system", disk signature 0x5902d932, created with driveID 0x80; partition 1 : ID=0xb, active, start-CHS (0x0, 1, 1), end-CHS (0x310, 127, 63), startsector 63, 6330177 sectors

Intenté copiar la imagen a un disco duro SATA "más nuevo", más grande y saludable (2003 WD 80 GB) después de la limpieza.

dd if=/dev/zero of=/dev/sda
dd: writing to '/dev/sda': no space left on device
80026361856 bytes (80 GB, 75GiB) copied
ddrescue -f /mnt/usb/SAVEDD/rescue.img /dev/sda restore.mapfile

Completorestaurar archivo de mapa

La partición resultante es extraña, parece buena en /dev/sda

[root@sysrescue]# fdisk -l /dev/sda

Disk /dev/sda: 74.53 GB, 80026361856 bytes, 156301488 sectors
Disk model: WDC WD800BB-00CA
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 label type: dos
Disk identifier: 0x5902d932

Device      Boot   Start      End  Sectors  Size  Id  Type
/dev/sda1   *         63  6330239  6330177    3G   b  W95 FAT32

pero está totalmente mal encendido /dev/sda1y el BIOS de la computadora vieja ni siquiera reconoce el disco duro.

Mi pregunta es ¿por qué aparece una tabla de particiones dañada al restaurar? ¿Cómo puedo arrancar con el disco duro más nuevo? ¿Qué debo esperar ver cuando copio un disco duro Win95 de 3 GB de arranque muy antiguo (con dd o ddrescue) a un disco duro "más nuevo" de 80 GB?

Intenté reconstruir la tabla de particiones sin testdiskéxito, pero no estoy seguro de que sea el enfoque correcto. Además, testdiskalerta sobre un error en la geometría de los cabezales/cilindros del disco duro.

¿Debo investigar la dirección de reparación del disco de prueba y MBR/tabla de particiones o es un problema de copia/ddrescue?

EDITAR 1:
El BIOS antiguo detecta un disco duro nuevo
Resolví que el BIOS antiguo no detectaba el nuevo HDD reduciendo la capacidad del nuevo HDD (con superposición de unidad) y copiando la imagen del HDD antiguo al nuevo HDD nuevamente.

ddrescue -f /mnt/usb/SAVEDD/rescue.img /dev/sda restore.mapfile
fdisk -l /dev/sda

Disk /dev/sda: 33.8 GB, 33820284928 bytes
128 heads, 63 sectors/track, 8191 cylinders, total 66055244 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: 0x5902d932

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63     6330239     3165088+   b  W95 FAT32

pero algunos pbm persisten:

  • el sistema operativo no arrancaincluso después de fijar una partición de mesa conTestdisk
  • Testdiskdetectar alguna discrepancia en CHSWarning: number of heads/cylinder mismatches 128 (FAT) != 255 (HD)

Aquíes el testdisk.log completo

¿Cómo iniciar el sistema operativo después de una ddrescuecopia?

EDITAR 2: BIOS antiguo encuentra Windows 95

Reconstruí el MBR del nuevo HDD de la siguiente manera

  • arrancar con disquete DOS
  • A: fdisk /mbr

Ahora tengo unarranque de windows 95pero falla sin mensaje de error (apagado de la computadora).

Intenté lanzar'confirmación paso a paso'y el proceso de arranque falla en

WIN [Enter=Y, Esc=N]?Y
Load all Windows drivers [Enter=Y, Esc=N]?Y
C:\WINDOWS\system\vmm32.vxd: Missing/unable to load.
Press any key to continue...

VMM32 parece ser un archivo crítico del sistema, pero aún puedo iniciar el sistema en el modo de símbolo del sistema y probablemente repararlo, porque este archivo está en elbuen lugar.

C:\WINDOWS\SYSTEM>dir vmm32.vxd /s
    Volume in drive C has no label 
    Volume Serial Number is 232E-1BD3
Directory of C:\WINDOWS\SYSTEM
VMM32  VXD   709.556   16.07.98   20:39  
       1 file(s)     709.556 bytes
Total files listed: 
    1 file(s) 709.556 bytes
    0 dir(s) 2.849.947.648 bytes free
C:\WINDOWS\SYSTEM>

Respuesta1

Mi pregunta es ¿por qué obtengo una tabla de particiones dañada al restaurar?

Fdisk te dice que tu partición es del tipo "b".

Si buscas esto en https://en.wikipedia.org/wiki/Partition_type

el campo de descripción indica "FAT32 con direccionamiento CHS"

Estas particiones deben solucionarse mediante un triple formado por cilindro, culata y sector. Cuando su disco se montó en su máquina P2L97, su BIOS contenía un conjunto de parámetros con valores máximos de C, H y S para todo el disco.

Si ese conjunto de parámetros cambia, cualquier solicitud de un sector individual basada en el direccionamiento c,h,s apuntará a un sector diferente.

Como desea que el nuevo disco se ejecute en su máquina anterior, supongo que necesita duplicar su disco en la máquina anterior usando la misma configuración CHS para ambos discos. Además, la configuración de CHS debe ser igual a la que se configuró al retirar el disco que se estaba muriendo lentamente.

El problema es que es posible que un Linux vivo moderno no se ejecute en su máquina anterior y una versión anterior de Linux no contendrá ddrescue. Pero podrías usar dd en su lugar restringiéndolo a las áreas que podrían recuperarse. De esa manera no estresarás el disco y no quedarás atrapado en esa área dañada como se muestra en el archivo de mapa ddrescue.

Respuesta2

Después de unos días de molestias resolví mi problema de la siguiente manera:

  1. Actualizar BIOS de la placa base
  2. Reduzca la capacidad del nuevo HDD consuperposición de unidadpara que coincida con el tamaño de ambos discos duros (debido a un error específico en la última versión 'final oficial' del BIOS de mi placa basecomo explicar por usuario3840170) Superposición de unidad
  3. Haga una copia de la imagen del disco duro antiguo al nuevo disco duro con ddrescue(ver arriba)
  4. Repare el MBR con fdisk /mbr(arrancando desde un DOSventanas 95flexible)
  5. Inicie el sistema en modo símbolo del sistema (presione F8 despuésCORREO)
  6. Reparar el sistema de archivos con scandisk(CHKDSK no puede)CHKDSK

Lo que no funcionó :

  • Se corrigió MBR (Master Boot Record) con herramientas específicas comoAdministrador de particiones ranianos
  • Se corrigieron los valores de CHS (cilindro, cabeza y sector) en BIOS
  • Se corrigió la detección del modo HDD en BIOS (LBA/large/CHS)
  • Reinstale el archivo del sistema con sys c:la propuesta similar deManual de prueba de disco(pág. 35)
  • Confiando en la robustez de los disquetes en 2022

Gracias a todos ustedes y a la gente de retrocomputing.stackexchange.com

información relacionada