linux-l: missing /home
Jens Dreger
jens.dreger at physik.fu-berlin.de
Fr Mär 31 23:29:19 CEST 2000
On Fri, Mar 31, 2000 at 06:10:34PM +0000, Mario Thaten wrote:
> Reply to mail by Jens Dreger of Fri, 31 Mar 2000 01:58:41 +0200:
> > Vielleicht beim naechsten Mal lieber die Partitionstabelle persoenlich
> > abspeichern: dd if=/dev/hda of=hda-table count=1 bs=512
>
> Hi Jens,
>
> Das ist doch der MBR, oder?
yup !
> Nicht die Partitionstabelle.
Doch doch. _auch_ die Partitionstabelle. Diese faegt bei Byte 446 im
MBR an und ist 64 Bytes lang. Der Bootcode vereinnahmt die ersten 446
Bytes, am Ende stehen noch 2 Bytes Signatur (0xAA55), macht 512 Bytes.
Daher hatte ich meine Partitionstabelle zerstoert, als ich einen
Bootloader auf die fiese Tour plattmachen wollte und einfach
dd if=/dev/zero of=/dev/hda bs=512 count=1
geschrieben hatte. Es haette also
dd if=/dev/zero of=/dev/hda bs=446 count=1
heissen muessen.
Der Befehl, um _nur_ die Partitionstabelle abzuspeichern lautet demnach
auch
dd if=/dev/hda of=part.dat bs=1 count=64 skip=446
Die Partitions-Tabelle besteht aus 4 Eintraegen der Form
UBYTE boot_flag
UBYTE start_head,start_sect,start_cyl
UBYTE system_type
UBYTE end_head,end_sect,end_cyl
UINT start_secto, number_of_sectors
Hier ist ein mini-"fdisk -l". Vielleicht was fuer's
Shell-Skript-Archiv ?
-----------8<----------------------------------------
#!/bin/sh
# parttab.sh: mini-"fdisk -l" by Jens Dreger
# usage: parttab.sh /dev/hd{...}
cat<<EOF
| Start | | End | Start | Number of
Boot| HD Sec Cyl|Sys| HD Sec Cyl| Sector | Sectors
----+-----------+---+-----------+---------+-----------
EOF
dd if=$1 bs=1 count=64 skip=446 2>/dev/null | \
hexdump -e '/1 " %02x |" 3/1 "%03d " /1 "|%3x|" 3/1 "%03d " 2/4 "| %8u" "\n"'
------------------------8<----------------------------
Ausgabe ist z.B.:
| Start | | End | Start | Number of
Boot| HD Sec Cyl|Sys| HD Sec Cyl| Sector | Sectors
----+-----------+---+-----------+---------+-----------
80 |000 193 003| c|254 255 253| 12386115| 4032315
00 |000 193 254| 83|254 255 255| 16418430| 16595145
00 |000 000 000| 0|000 000 000| 0| 0
00 |001 001 000| 85|254 255 002| 63| 12386052
Natuerlich bekommt man auf diese Weise nur die primaeren und die erste
erweiterte Partition.
Gruss,
Jens.
Mehr Informationen über die Mailingliste linux-l