aima + 8rypsala sto partition table

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Mar 3 13:49:01 EET 2003


On 2003-03-03 01:57, Alexandros Papadopoulos <apapadop at cmu.edu> wrote:
> Κατάφερα να σπείρω απόλυτο πανικό στο partition table ενός φίλου, με
> εξαιρετικά λίγες κινήσεις. Το πρόβλημά μου είναι ότι δεν ξέρω ακριβώς
> πού έγινε το κατόρθωμα. Αν μπορεί κανείς να μαντέψει, θα ήμουν
> ευγνώμων, ώστε να ξέρω να μη κάνω την ίδια βλακεία ξανά.
>
> Ξεκινάμε με μηχάνημα με δύο partitions, WinXP NTFS και στα δύο. Σβήνουμε
> το δεύτερο, και στη θέση του δημιουργούμε τα εξής:
>
> [0] /dev/hda5 ext3 /
> [1] /dev/hda6 vfat /mnt/windows
> [2] /dev/hda7 ext3 (!) /mnt/windows2
> [3] /dev/hda8 swap
>
> Όλα αυτά με τον installer του RedHat8.0. Τελειώνουμε την εγκατάσταση,
> και τότε συνειδητοποιούμε ότι κατά λάθος το /dev/hda7 είναι ext3fs και
> όχι vfat όπως θέλαμε.
>
> Δεν κωλώνουμε, umount τα πάντα εκτός από το /, sync και mkfs.vfat
> /dev/hda7. Αλλαγές στο /etc/fstab, και μετά mount + read/write σε όλα
> τα partitions. Όνειρο.
>
> (το λάθος) Reboot σε WinXP. Δεν βλέπουν το /dev/hda7. Το σβήνω από τον
> disk manager και το ξαναφτιάχνω.

Στοίχημα ότι κάποια αηδία έκανε ο disk manager.  Δεν φαίνεται
φυσιολογικό το partition table που έχει παρακάτω.

> Επόμενος τόνος: WinXP δεν bootάρουν καθόλου (BSOD), linux bootάρει μια
> χαρά. Από το linux μπορώ να διαβάσω τo NTFS partition των XP.

Το Linux μπορεί να κάνει boot και από logical partition μέσα σε κάποιο
extended.  Τα Windows απαιτούν το boot partition τους να είναι primary
partition.

> Πού χάλασε η σούπα;

Τι είναι αυτό; Partition table μέσα σε primary partition?  Τι εντολή
έτρεξες; Το /dev/hda είναι ο δίσκος, το /dev/hda1 είναι το partition 1
του δίσκου.  Το /dev/hda1p1 τι στο κακό είναι;

> Disk /dev/hda1: 240 heads, 63 sectors, 2708 cylinders
> Units = cylinders of 15120 * 512 bytes

Τα partitions στους μπορούν να καταλαμβάνουν ακέραιο αριθμό από
κυλίνδρους.

Με 240 κεφαλές και 63 sectors ανά κύλινδρο, το μέγεθος του
κάθε κύλινδρου είναι: 240 * 63 = 15120 sectors.

Ο δίσκος σου έχει 2708 κυλίνδρους.

>      Device Boot    Start       End    Blocks   Id  System
> /dev/hda1p1   ?     14427    126993 850995205   72  Unknown
> Partition 1 does not end on cylinder boundary:
>      phys=(371, 101, 51) should be (371, 239, 63)

Κύλινδρος 14427 *αποκλείεται* να υπάρχει στο δίσκο σου.  Δεν έχει
τόσους κυλίνδρους.  Το πιο πιθανόν είναι ότι προσπαθείς να βάλεις το
fdisk να διαβάσει "partition table" από το /dev/hda1 χωρίς να υπάρχει
partition table εκεί και αυτό σου δείχνει σκουπίδια.

> /dev/hda1p2   ?     48218     84195 271987362   74  Unknown
> Partition 2 does not end on cylinder boundary:
>      phys=(299, 114, 44) should be (299, 239, 63)
> /dev/hda1p3   ?     11155     11155         0   65  Novell Netware 386
> Partition 3 does not end on cylinder boundary:
>      phys=(353, 115, 52) should be (353, 239, 63)
> /dev/hda1p4        178105    178108     25817+   0  Empty
> Partition 4 does not end on cylinder boundary:
>      phys=(0, 0, 0) should be (0, 239, 63)

> Partition table entries are not in disk order

Αυτό δεν είναι τίποτα.  Απλά το τυπώνει το fdisk επειδή το start του
partition 4 (αν όντως είναι partition αυτό το πράγμα) είναι μικρότερο
από το end προηγούμενων partition.  Δεν είναι τίποτα ιδιαίτερα κακό,
αφού δεν υπάρχει νομίζω απαίτηση από κανένα boot manager τα partitions
να είναι σε σειρά όσον αφορά τα start & end τους.  Επειδή μερικές
φορές όμως το να είναι τα partitions "ανακατεμένα" είναι πολύ καλή
ένδειξη του ότι κάτι δεν πάει καλά, το τυπώνει σαν προειδοποίηση για
να το προσέξεις αν τυχόν σου έχει διαφύγει.

> Disk /dev/hda3: 240 heads, 63 sectors, 143 cylinders
> Units = cylinders of 15120 * 512 bytes

Ξανά έχω την εντύπωση ότι έτρεξες fdisk -l /dev/hda3 ενώ έπρεπε να
τρέξεις fdisk -l /dev/hda.  Εκτός κι αν αυτό είναι πρόσφατη αηδία που
κάνει το fdisk χωρίς να σε ρωτήσει αν τύχει και κάποιο primary
partition έχει το κατάλληλο signature στο τέλος του boot record του.

- Γιώργος



More information about the Linux-greek-users mailing list