Portál AbcLinuxu, 28. března 2024 19:46
hda1 - / - Debian - ext2 - podarilo se mi pripojit hda2 - /home - Debian -ext2 - nepodarilo se mi pripojit ... sda1 - nevyuzito - tady mel byt DR-DOS sda2 - nevyuzito - tady mel byt NW6.5 SYS: sda3 - swap ...
c:\autoexec.bat
se spustil dosovsky programek (na nazev souboru si uz nevzpomenu) a teprve ten zavedl NW. Takze tam musi byt partisna (staci mala, ale musi byt), ze ktere muze/umi DOS bootovat - tedy nejcasteji hda[1-4].todle najde vsechny bloky, ktery se tvari jako superblock ext2. zacatek partition muze byt pouze u kazdeho z vypsanych. a ted nevim, jestli jsem tam udelal prepocet, protoze superblock je az treti nebo paty blok v partition
/bla zmente na device na kterem byly ty data. (idealne ale jako jsem to delal ja vykopirujte cely disk pomoci dd if=... of=... bs=1k nekam bokem, at mate zalohu nebo pracujte s temy zkopirovanymi daty)
v fdisk-u pak prepnete jednotky na bloky (u) at mate presnou kontrolu a ty cisla by se pak mely shodovat (teda -3 nebo -5... kouknete se do /etc/magic jak detekuje "file" ext2... napsal jsem to podle toho.)
#include <stdio.h> int main( int argc, char argv) { unsigned short int magic; FILE *hda=fopen("/bla", "r"); long int block=1; printf("bla %d\n", sizeof( unsigned short int)); if (NULL== hda) { printf("nepodarilo se otevrit soubor\n"); return(-1); } if (fseek( hda, (0x438)%512, SEEK_CUR)) { printf("chybka seeku\n"); return(-1); } do { if (1> fread( &magic, 2, 1, hda)) { printf("chybka readu\n"); return(-1); } printf("%8d: nacteno %8d\n", block, magic); if (0xEF53== magic) { printf("%8d: je to ext2\n"); } if (fseek( hda, 510, SEEK_CUR)) { printf("chybka seeku\n"); return(-1); } block++; } while (1); }
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.