Hátra Előre Tartalom

3. Az eljárás lépései

                msinfo /dev/winswap

begin 755 msinfo.gz
M'XL(`$$YNRT"`Y557TQ;51@_MW]HZ0AM'"$U-.28W([..>84%1%D2QH>',9*
M2S&VC);V=FV]T*;WWBD+1I)K'YH;DOJF#YH80GPR^J""D"R8-K('MS2;#Q*S
M%Y,E-P&592A$V:[?.;?M"FP/?DG/G^_[?7_Z_3G7PL313TT(?8P0<J"CI':8
M$5H^#:=5<KT^MQ`^UAQ1O*QUH0<.]B7S/FC[U!98Y;))]<*N^AG"^LB((J%E
MAFIM[A9U0O`;%:*7N#[L%G!_-IH34V(J,WUZ.CK%O6I#N4DTE,E-144Q-7T)
M>]_PX\M<3@!`'ZZ26[`-I7A.F!%$;JK.;21`!#.\-,5A/CK)\=B3FL:3F8PH
M<#$QDSO91Q%^>L%"Z@KW*"-NR3;""5SN,A?'NI[0=P0Q=#[P&&$5@3UNZ3VW
M=-(V`NYQ/)6CX)DC2F`KD!&C/!:R7"Q%]L-6`8'D+=]8T*^$V8@RR\;5\P9(
M^;\&T:F]E`Q`EI,_6YHCZBT#BJ09M0VV9!:XVKLF]0NX%'Z4R];\W](3A-%J   
MI:`_&12!>@33QC0S'V8]?O5+0`;3UC23K)!"?@97N8R#:29MF/>R)PI>UJF)
MK%/-4QR39OSJE8,8MHZ)UC#`?1ZX'N!ZU`L'X;@.?X["C<1DUT%,9QW32C''
M"<98PQR#8#=(L'>96NQWR/4W1@>H3\'!OC3,MMN_"[,=A1OVK^XEH($[$S^H
MY@28=MB78-$/`=8)(L=\P*$5*I_LS@)_G7!=\Z9V@F"``Y$XQM[T!T>(WHNU
M/T9CH)YIZI("&9ZK32AR=DTN/QNZ."&7?27H_<(=_^=Q"U1N3Y.>!-E`$BY(
M;(4ZG)/[\_0F_54HY7\5[<!33)\2M%:Y(.THX_N%K?%2L9&(O=4>8F^@IV9(
M,<HEDU:17T'23M)GA#ANW-<F'J5-]>6!G2;BU+YN)@<RL.JBIFD4[:<###UG
MO3Z77WO?L?O+@@G\+(-<"X&QT"&#_N7@_\2;JGAEF&U1`JR#ZCD/Z]7HJ'ZH
M09_JNAZGJ^N?X5.39_AXMY!!?3@6G>X2,9^)QG%\!IZ@5`SSJ>EWN!SN>HCK
MLJ%F08R*J5B4YV=T0-R&J#UYJW>4#"7/#D,0/GG`0ZI@__`;6->]K!>C[<GD
M31/IQP>:!B]D?DT,*<;Y6=9Y]3:P][^W`?+>8F(1!*ZY7B1:BN=@D_XY9?0I
M'?ZT0=V@BBWIIV$47#Y@7-,9Q>0<*=7;NMW-NS2>9#_X3V)8()?A$;!`ALRW
M#&\%RO_^@9F6TP<]'M8J@'AFA"[JM]0(WCQ!`[.826!F&A@HG4JWU5R_KKL&
M9GNQF$;J[?NZ\YUZ?B].C,OEWI*\94J`:6LB?U,RK^2.([0QRQK(W!D2[K5M
M,G>&0B7A'K03F"'17*&L#9XU@+U2L9K4-GCIG(K(NE:SM,>SM,?;X,T:&U6,
MT./E%NAUTNE_$,^E(A0M!B7K[D'>X6'\FC25Q3W=+V3YLR^CXJW.S0>#54*#
M#ZE^AI+N-35^_>![U4!?@VQ%ET<L!BC>MC5"\GH->"T6'4/2NS>((N0,DT>_
9K6^!S%65KRS`,`,UVB43\!]-BKG]B`<``#5"
`
end
A fenti program a.out formátumú, ami nem minden rendszeren fut, ezért itt áll egy perl script, ami ugyanazt csinálja:



#!/usr/bin/perl
# -*- perl -*-

if ( $#ARGV < 0 ) {
    print "Usage: $0 partition\n";
    exit 1;
}

open(PARTN, $ARGV[0]) || die "Cannot open $ARGV[0]\n";
read(PARTN, $buf, 512) || die "Cannot read boot sector\n";
close(PARTN);

($jmp,$oem,$bps,$spc,$rs,$fat,$rde,$sec,$media,$fatsec,$spt,$head,
 $hidden,$hugesec,$drive,$x1,$xbs,$volid,$label,$fstype) =
    unpack("a3a8SCSCSSCSSSLLCCCLa11a8", $buf);

$rdeps = int($bps/32);
$rds = int(($rde+$rdeps-1)/$rdeps);

print 'Formatting DOS version:     ', $oem, "\n";
print 'Filesystem:                 ', $fstype, "\n";
print 'Volume label:               ', $label, "\n";
print 'Sector size:                ', $bps, "\n";
print 'Reserved sectors:           ', $rs, "\n";
print 'FAT sectors:                ', $fat*$fatsec,
    ' (', $fat, 'x', $fatsec, ")\n";
print 'Root directory sectors:     ', $rds, "\n";
print 'Total special sectors:      ', $rs+$fat*$fatsec+$rds, "\n";

Jegyezd meg a "Total special sectors" utáni számot és ellenőrizd, hogy a "volume label" után "SWAP SPACE" áll-e. Ha nem, akkor indíts DOS-t és futtasd újra a LABEL parancsot. Ha még mindig nem jön össze, kérlek juttasd el hozzám a DOS verziószámod, és megpróbálok segíteni rajtad.



#
# Swap terület ellenőrzése és inicializálása
#
echo -n 'Swap terület ellenőrzése... '
if [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" \
   = 'SWAP-SPACE' ]; then
  echo 'Linux jelzést találtam'
  /sbin/swapon /dev/winswap
elif [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=11 skip=43`" \
   = 'SWAP SPACE ' ]; then
  echo 'DOS jelzést találtam'
  /sbin/mkswap /dev/winswap XXXXX
  /sbin/swapon /dev/winswap
else
  echo 'Nem találtam jelzést'
  echo 'HIBA: nem lesz swap'
fi



#
# Swap használatának leállítása és az eredeti
# DOS/Windows swap terület helyreállítása
#
/sbin/swapoff /dev/winswap
if [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" \
   = 'SWAP-SPACE' ]; then
  echo 'DOS/Windows swap terület helyreállítása'
  /bin/zcat /etc/winswap.gz > /dev/winswap
else
  echo 'HIBA: /dev/winswap jelzése hiányzik, nincs helyreállítás'
fi


Hátra Előre Tartalom