Re: RECOVERY: partition table

Riley Williams (rhw@MemAlpha.CX)
Mon, 12 Jul 1999 17:46:38 +0100 (GMT)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--1421910094-100496463-931797998=:26114
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hi there.

>> I found block lengths etc of my partitions... I accidentally
>> blew away my partition table (fd0!=hda) and unfortunately I have
>> no way to do a backup and so have little. The system is still
>> up and running. Is there anyway I can recreate exactly the same
>> partition table?

> Yes.

>> I imagine all the information is in /proc, but I can't find it.

It's not all in /proc but almost all of it is there...

> cat /proc/partitions

> This gives the partition sizes. It may not be enough as you
> don't get the exact placement, but it worked for me when I did
> exactly the same thing. I used fdisk and recreated my
> partitions in order and with exactly the same sizes. Note that
> cfdisk will want to start the first partition on a cylinder
> bounddary, while fdisk can start on a track boundary. The
> latter was necessary in my case, as an NT partition started on
> the second track on the first cylinder.

> Before you reboot, make sure you have a linux boot floppy with
> fdisk on it. A debian install/rescue diskette is ok.
> You can then retry if your first attempt goes wrong.

> Helge Hafting

Can I offer the enclosed bash shell script, which uses the available
information to reconstruct the partition table ready for it to be
recreated using `fdisk -u` (ie, this provides sector numbers).

There are two cases where it will get the details wrong:

1. It assumes that the whole of the first track of cylinder 0
is unused, and reserved for the partition table. On some
systems, only the first sector thereof is unused.

2. It assumes that all allocated partitions are consecutively
allocated (ie, there are no gaps between them). This is not
always the case, but it is usually true.

In addition, this version fails to detect the boot partition. However,
if you use LILO to boot, that can be determined by reading the
relevant line in /etc/lilo.conf although if you use LOADLIN or some
other boot loader, I've no idea where one would look to discover that.

If it gets the details wrong in other cases, please let me know,
providing a copy of the output from `fdisk -l` together with the
output from this program...

Best wishes from Riley.

+----------------------------------------------------------------------+
| There is something frustrating about the quality and speed of Linux |
| development, ie., the quality is too high and the speed is too high, |
| in other words, I can implement this XXXX feature, but I bet someone |
| else has already done so and is just about to release their patch. |
+----------------------------------------------------------------------+
* ftp://ftp.MemAlpha.cx/pub/rhw/Linux
* http://www.MemAlpha.cx/kernel.versions.html

--1421910094-100496463-931797998=:26114
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=repart
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.9907121746380.26114@ps.cus.umist.ac.uk>
Content-Description:
Content-Disposition: attachment; filename=repart

IyEvYmluL2Jhc2gNCmNhdCA+JjIgPDwuRU9GDQpSZVBhcnQgdjEuMC4wIEhh
cmQgRHJpdmUgUGFydGl0aW9uIEFuYWx5c2VyDQpDb3B5cmlnaHQgKEMpIDE5
OTksIE1lbW9yeSBBbHBoYSBTeXN0ZW1zIDxyaHdAbWVtYWxwaGEuY3g+DQpS
ZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2VuY2Us
IHZlcnNpb24gMi4NCg0KLkVPRg0KaWYgWyAkIyAtZXEgMCBdOyB0aGVuDQog
ICAgZWNobyBVc2FnZTogYGJhc2VuYW1lICQwYCBkcml2ZSA+JjINCiAgICBl
eGl0IDEyNw0KZmkNCmZ1bmN0aW9uIGFjdGl2ZSgpIHsNCiAgICBmZXRjaCBe
IC9wcm9jL3BhcnRpdGlvbnMgfCBjdXQgLWQgJyAnIC1mIDQgfCBncmVwICJe
YGJhc2VuYW1lICQxYCINCn0NCmZ1bmN0aW9uIGFuYWx5c2UoKSB7DQogICAg
ZGVjbGFyZSAtaSBDWUxJTkRFUlM9YHNwZWMgQyAkMWAgSEVBRFM9YHNwZWMg
SCAkMWAgU0VDVE9SUz1gc3BlYyBTICQxYA0KICAgIGRlY2xhcmUgLWkgQ09V
TlQ9MCBTVEFSVD0kU0VDVE9SUw0KICAgIGxvY2FsIFBBUlRJVElPTlM9YGFj
dGl2ZSAkMSB8IGdyZXAgLXYgIl4kMVwkImANCiAgICBsb2NhbCBQUk9DUEFS
VCBGU1RBQiBNVEFCIE1BSk9SIE1JTk9SIEZTVFlQRSBNRSBOTyBFWFQ9Tg0K
DQogICAgZWNobyAnUGFydGl0aW9uICAgQm9vdCAgTWFqb3IgIE1pbm9yICBT
dGFydCBTZWN0b3IgIEVuZCBTZWN0b3JzICBGaWxlIFN5c3RlbScNCiAgICBl
Y2hvICd+fn5+fn5+fn5+ICB+fn5+ICB+fn5+fiAgfn5+fn4gIH5+fn5+fn5+
fn5+fiAgfn5+fn5+fn5+fn4gIH5+fn5+fn5+fn5+Jw0KICAgIGZvciBNRSBp
biAkUEFSVElUSU9OUyA7IGRvDQoJUFJPQ1BBUlQ9YGZldGNoICIgJE1FXCQi
IC9wcm9jL3BhcnRpdGlvbnNgDQoJRlNUQUI9YGZldGNoICJeL2Rldi8kTUUg
IiAvZXRjL2ZzdGFiYA0KCU1UQUI9YGZldGNoICJeL2Rldi8kTUUgIiAvZXRj
L210YWJgDQoJQ09VTlQ9YGVjaG8gJFBST0NQQVJUIHwgY3V0IC1kICcgJyAt
ZiAzYA0KCWlmIFsgLXogIiRGU1RBQiIgLWEgLXogIiRNVEFCIiBdOyB0aGVu
DQoJICAgIGlmIFsgJENPVU5UIC1lcSAxIF07IHRoZW4NCgkJcHJpbnRmICcl
LTEwcyAgJTRzICAlNXMgICU1cyAgJTEycyAgJTExcyAgJXNcbicJXA0KCQkg
ICAgL2Rldi8kTUUgJycgJE1BSk9SICRNSU5PUiAkU1RBUlQgJycgJyhFeHRl
bmRlZCknDQoJCUVYVD1ZDQoJICAgIGVsc2UNCgkJcHJpbnRmICclLTEwcyAg
JTQ1cyAgJXNcbicgL2Rldi8kTUUgJycgVW51c2VkDQoJICAgIGZpDQoJZWxz
ZQ0KCSAgICBNSU5PUj1gZWNobyAkUFJPQ1BBUlQgfCBjdXQgLWQgJyAnIC1m
IDJgDQoJICAgIGlmIFsgJFskTUlOT1ImNjNdIC1lcSAwIF07IHRoZW4NCgkJ
Y29udGludWUNCgkgICAgZmkNCgkgICAgQ09VTlQ9JENPVU5UKjIrJFNFQ1RP
UlMvMg0KCSAgICBDT1VOVD0kQ09VTlQtJENPVU5UJSRTRUNUT1JTDQoJICAg
IE5PPWBlY2hvICRNRSB8IHNlZCAncy9bXjAtOV0vL2cnYA0KCSAgICBpZiBb
ICROTyAtZ3QgNCBdOyB0aGVuDQoJCVNUQVJUPSRTVEFSVCskU0VDVE9SUw0K
CSAgICBmaQ0KCSAgICBNQUpPUj1gZWNobyAkUFJPQ1BBUlQgfCBjdXQgLWQg
JyAnIC1mIDFgDQoJICAgIEZTVFlQRT1gZWNobyAkRlNUQUIgfCBjdXQgLWQg
JyAnIC1mIDNgDQoJICAgIGlmIFsgLXogIiRGU1RZUEUiIF07IHRoZW4NCgkJ
RlNUWVBFPWBlY2hvICRNVEFCIHwgY3V0IC1kICcgJyAtZiAyYA0KCSAgICBm
aQ0KCSAgICBpZiBbIC16ICIkRlNUWVBFIiBdOyB0aGVuDQoJCUZTVFlQRT0n
PycNCgkgICAgZWxpZiBbICIkRlNUWVBFIiA9ICJzd2FwIiBdOyB0aGVuDQoJ
CUZTVFlQRT0nKFN3YXApJw0KCSAgICBmaQ0KCSAgICBwcmludGYgJyUtMTBz
ICAlNHMgICU1cyAgJTVzICAlMTJzICAlMTFzICAlc1xuJwlcDQoJCS9kZXYv
JE1FICcnICRNQUpPUiAkTUlOT1IgJFNUQVJUICRbJFNUQVJUKyRDT1VOVC0x
XSAiJEZTVFlQRSINCgkgICAgU1RBUlQ9JFNUQVJUKyRDT1VOVA0KCWZpDQog
ICAgZG9uZQ0KICAgIGVjaG8gJ35+fn5+fn5+fn4gIH5+fn4gIH5+fn5+ICB+
fn5+fiAgfn5+fn5+fn5+fn5+ICB+fn5+fn5+fn5+fiAgfn5+fn5+fn5+fn4n
DQogICAgaWYgWyAkRVhUICE9IE4gXTsgdGhlbg0KCWVjaG8NCgllY2hvICdO
T1RFOiBUaGUgc2l6ZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHNob3Vs
ZCBiZSBqdXN0IGxhcmdlIGVub3VnaCB0bycNCgllY2hvICcgICAgICBob2xk
IGFsbCB0aGUgcGFydGl0aW9ucyBmb2xsb3dpbmcgaXQuIEl0IGlzIHRoZXJl
Zm9yZSBleHBlY3RlZCB0bycNCgllY2hvICcgICAgICBlbmQgYXQgc2VjdG9y
JyAkWyRTVEFSVC0xXS4NCiAgICBmaQ0KICAgIGVjaG8NCn0NCmZ1bmN0aW9u
IGZldGNoKCkgew0KICAgIHRyIC1zICdcdCcgJyAnIDwgJDIJCQlcDQoJfCBz
ZWQgJ3MvXlwoW14jXSpcKSMuKiQvXDEvJwlcDQoJfCBzZWQgJ3MvXiAvLztz
LyAkLy8nCQlcDQoJfCBncmVwIC12ICdeJCcJCQlcDQoJfCBncmVwICQxDQp9
DQpmdW5jdGlvbiBzcGVjKCkgew0KICAgIGNhc2UgJDEgaW4NCglCKQlzcGVj
aWZ5ICQyIGJ5dGUJCTs7DQoJQykJc3BlY2lmeSAkMiBjeWxpbmRlcgk7Ow0K
CUgpCXNwZWNpZnkgJDIgaGVhZAkJOzsNCglTKQlzcGVjaWZ5ICQyIHNlY3Rv
cgk7Ow0KICAgIGVzYWMNCn0NCmZ1bmN0aW9uIHNwZWNpZnkoKSB7DQogICAg
ZmRpc2sgLWwgJDEJCQkJCVwNCgl8IGdyZXAgY3lsaW5kZXJzCQkJXA0KCXwg
aGVhZCAtMgkJCQlcDQoJfCB0ciAnXG4nICcgJwkJCQlcDQoJfCBzZWQgInMv
Xi4qIFwoWzAtOV0qXCkgJDIuKlwkL1wxLyINCn0NCmZvciBEUklWRSBkbw0K
ICAgIGlmIFsgLW4gIiREUklWRSIgXTsgdGhlbg0KCWlmIFsgLWIgIiREUklW
RSIgLWEgLWIgIiR7RFJJVkV9MSIgXTsgdGhlbg0KCSAgICBpZiBhY3RpdmUg
IiREUklWRSIgPiAvZGV2L251bGwgMj4mMSA7IHRoZW4NCgkJYW5hbHlzZSAi
JERSSVZFIg0KCSAgICBlbHNlDQoJCWVjaG8gRVJST1IgMjogTm90IGFuIGFj
dGl2ZSBkcml2ZTogIickRFJJVkUnIiA+JjINCgkJZXhpdCAyDQoJICAgIGZp
DQoJZWxzZQ0KCSAgICBlY2hvIEVSUk9SIDE6IE5vdCBhIHJhdyBoYXJkIGRy
aXZlIG5vZGU6ICInJERSSVZFJyIgPiYyDQoJICAgIGV4aXQgMQ0KCWZpDQog
ICAgZmkNCmRvbmUNCg==
--1421910094-100496463-931797998=:26114--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/