Clonezilla-SysRescCD
Αναγνώριση συσκευών στο Linux
08/02/2009 - v 3.1.0

Πνευματικά δικαιώματα: © 2007-2009, Σπύρος Γεωργαράς <sng@hellug.gr>Μία σελίδα
Τελευταία ενημέρωση: 19/12/2009Εκτυπώσιμη μορφή
 
Επιλογή γλώσσας: Αγγλικά ΕλληνικάΡοή νέων RSS
 

Εισαγωγή [^]

Αυτή η σελίδα έχει σκοπό να βοηθήσει τους χρήστες των Windows αλλά και τους νέους χρήστες του Linux να αναγνωρίσουν τους δίσκους / CD ROM που υπάρχουν σε ένα σύστημα μέσω του Linux.

Το όνομα των δίσκων και των κατατμήσεων στο Linux μπορεί να είναι διαφορετικό από άλλα λειτουργικά συστήματα. Θα πρέπει να γνωρίζετε το όνομα που χρησιμοποιείται στο Linux για να κάνετε διαμόρφωση, προσάρτηση ή απλώς επιλογή ενός δίσκου ή κατάτμησης.

Το Linux χρησιμοποιεί το device name για να έχει πρόσβαση σε δίσκους και κατατμήσεις Μπορείτε να το θεωρήσετε ως ένα δεσμό προς το πραγματικό οδηγό του δίσκου. Για κάθε διαθέσιμη συσκευή υπάρχει ένα αρχείο στον κατάλογο /dev (πχ. το /dev/hda1).

Σε γενικές γραμμές, κάθε δίσκος / CD-ROM έχει ένα όνομα που αποτελείται από τρεις χαρακτήρες, για παράδειγμα hda. Κάθε κατάτμηση σε έναν τέτοιο δίσκο έχει έναν αριθμό, με αρχή το 1. Έτσι η πρώτη κατάτμηση του δίσκου hda θα είναι η hda1, η δεύτερη θα είναι η hda2, κοκ.

Ανάλογα με τον τύπο της συσκευής, το Linux δίνει τα ακόλουθα ονόματα:

Παραδείγματα [^]

Για να μπορέσει κανείς να αναγνωρίσει τους δίσκους σε ένα σύστημα, καλά θα ήταν να γνωρίζει εκ των προτέρων πως είναι στημένο (πόσους δίσκους έχει, αν είναι dual-boot κλπ.) Αυτό βέβαια δεν είναι απαραίτητο. Οι πιο έμπειροι χρήστες δε θα χρειαστεί να ρωτήσουν καν.

Τα συστήματα Linux που βασίζονται σε πυρήνες της σειράς 2.6.x (όπως το Clonezilla Live και το SystemRescueCD) παρέχουν την απαραίτητη υποστήριξη για την αναγνώριση των δίσκων ενός μηχανήματος, με τη χρήση δύο-τριών εντολών.

Παράδειγμα 1 [^]

Το πρώτο σύστημα με το οποίο θα δουλέψουμε είναι ένα dual-boot σύστημα (Windows - Linux), με δύο δίσκους και δύο DVD-ROMs.

Η πρώτη εντολή θα μας πει ποιοι δίσκοι και κατατμήσεις υπάρχουν στο σύστημα. Να την λοιπόν:

# cat /proc/partitions
major minor  #blocks  name

   3     0  312571224 hda
   3     1   23446836 hda1
   3     2   40957717 hda2
   3     3  245240257 hda3
   3     4    2923830 hda4
   3    64  244198584 hdb
   3    65   41945683 hdb1
   3    66    2104515 hdb2
   3    67          1 hdb3
   3    68  125909437 hdb4
   3    69   74236333 hdb5

Η έξοδος της εντολής μας λέει ότι υπάρχουν δύο δίσκοι στο σύστημα, (ο hda και ο hdb) οι οποίοι είναι οι primary master και primary slave, αντίστοιχα.

Οπρώτος δίσκος περιέχει τέσσερις primary κατατμήσεις (hda1-hda4) ενώ ο δεύτερος τέσσερις primary κατατμήσεις (hdb1-hdb4) και μία λογική (hdb5). Για μια στιγμή!!! αυτο δεν μπορεί να είναι σωστό... Για να έχω μία λογική κατάτμηση, θα πρέπει να έχω μία primary η οποία την περιέχει, πράγμα που σημαίνει ότι σε αυτήν την περίπτωση δεν μπορώ να έχω τέσσερις primary κατατμήσεις. Έτσι αυτό που συμβαίνει πραγματικά είναι ότι έχω δύο primary και δύο λογικές κατατμήσεις, συν μία extended primary που τις περιέχει.

Αυτό που απομένει να μάθουμε είναι το είδος της κάθε κατάτμησης. Αυτό θα το βρούμε εκτελώντας τις ακόλουθες εντολές:

# fdisk -l /dev/hda

Disk /dev/hda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        2919    23446836    7  HPFS/NTFS
/dev/hda2            2920        8018    40957717+   7  HPFS/NTFS
/dev/hda3            8019       38549   245240257+   7  HPFS/NTFS
/dev/hda4           38550       38913     2923830   82  Linux swap / Solaris


# fdisk -l /dev/hdb

Disk /dev/hdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1   *           1        5222    41945683+  83  Linux
/dev/hdb2            5223        5484     2104515   82  Linux swap / Solaris
/dev/hdb3            5485       14726    74236365    f  W95 Ext'd (LBA)
/dev/hdb4           14727       30401   125909437+  83  Linux
/dev/hdb5            5485       14726    74236333+  83  Linux

Ωραία, αυτό ξεκαθαρίζει τα πράγματα. Ο πρώτος δίσκος περιέχει τρεις κατατμήσεις των Windows XP (NTFS) και μία Linux Swap. Στην πραγματικότητα το /dev/hda1 είναι ο "δίσκος συστήματος" των Windows, αφού τα Windows εγκαθίστανται πάντα στην πρώτη κατάτμηση του primary master δίσκου.

Ο δεύτερος δίσκος περιέχει μία κατάτμηση Linux (/dev/hdb1), μία Linux Swap /dev/hdb2, και μία extended κατάτμηση /dev/hdb3 η οποία περιέχει δύο ακόμη κατατμήσεις Linux (/dev/hdb4 and /dev/hdb5).

Το τελευταίο πράγμα που μας χρειάζεται είναι να μάθουμε τι CD/DVD-ROM υπάρχουν. Έτσι εκτελώ την εντολή:

# cat /proc/sys/dev/cdrom/info
CD-ROM information, Id: cdrom.c 3.20 2003/12/17

drive name:             hdd     hdc
drive speed:            0       126
drive # of slots:       1       1
Can close tray:         1       1
Can open tray:          1       1
Can lock tray:          1       1
Can change speed:       1       1
Can select disk:        0       0
Can read multisession:  1       1
Can read MCN:           1       1
Reports media changed:  1       1
Can play audio:         1       1
Can write CD-R:         0       1
Can write CD-RW:        0       1
Can read DVD:           1       1
Can write DVD-R:        0       1
Can write DVD-RAM:      0       1
Can read MRW:           1       0
Can write MRW:          1       0
Can write RAM:          0       1

Το σύστημα λοιπόν έχει δύο DVD-ROM, το hdc που είναι το secondary master και είναι συσκευή εγγραφής DVD, και το hdd που είναι το secondary slave και είναι ένα απλό DVD.

Σε αυτό το σημείο συνδέω το USB stick μου, περιμένω λίγο και εκτελώ την εντολή:

# cat /proc/partitions
major minor  #blocks  name

   3     0  312571224 hda
   3     1   23446836 hda1
   3     2   40957717 hda2
   3     3  245240257 hda3
   3     4    2923830 hda4
   3    64  244198584 hdb
   3    65   41945683 hdb1
   3    66    2104515 hdb2
   3    67          1 hdb3
   3    68  125909437 hdb4
   3    69   74236333 hdb5
   8     0    1007615 sda
   8     4    1006576 sda4

Όπως βλέπετε, εδώ έχουμε δύο νέες γραμμές, που αντικατοπτρίζουν την αλλαγή που έγινε στο σύστημα (τη σύνδεση της συσκευής USB). Οπότε το USB stick αναγνωρίζεται από το σύστημα ως sda, ενώ αυτό περιέχει σύστημα αρχείων VFAT.

Παράδειγμα 2 [^]

Το δεύτερο μηχάνημα είναι ένα σύστημα Linux με ένα δίσκο SCSI και ένα CD-ROM. Δίνω και πάλι την εντολή:

# cat /proc/partitions
major minor  #blocks  name

   8     0  156290904 sda
   8     1      64228 sda1
   8     2   15735667 sda2
   8     3   15735667 sda3
   8     4  124744725 sda4

Από την έξοδό της βλέπω ότι έχω ένα δίσκο, τον sda, ο οποίος περιέχει τέσσερις κατατμήσεις.

Μετά εκτελώ το fdisk, που μου δείχνει ότι στο δίσκο υπάρχει μία κατάτμηση του DOS και τρεις του Linux.

# fdisk -l /dev/hdb
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           8       64228+   6  FAT16
/dev/sda2               9        1967    15735667+  83  Linux
/dev/sda3            1968        3926    15735667+  83  Linux
/dev/sda4            3927       19456   124744725   83  Linux

Τελικά για να δω για το CD-ROMs, εκτελώ την εντολή:

# cat /proc/sys/dev/cdrom/info
CD-ROM information, Id: cdrom.c 3.20 2003/12/17

drive name:                hda
drive speed:               0
drive # of slots:          1
Can close tray:            1
Can open tray:             1
Can lock tray:             1
Can change speed:          1
Can select disk:           0
Can read multisession:     1
Can read MCN:              1
Reports media changed:     1
Can play audio:            1
Can write CD-R:            1
Can write CD-RW:           1
Can read DVD:              1
Can write DVD-R:           0
Can write DVD-RAM:         0
Can read MRW:              1
Can write MRW:             1
Can write RAM:             0

Η οποία μου λέει ότι έχει ένα IDE CD-ROM, το (hda), που είναι συσκευή εγγραφής CD.

Στη συνέχεια συνδέω το USB stick μου, και παίρνω:

# cat /proc/partitions
major minor  #blocks  name

   8     0  156290904 sda
   8     1      64228 sda1
   8     2   15735667 sda2
   8     3   15735667 sda3
   8     4  124744725 sda4
   8    16    1007615 sdb
   8    20    1006576 sdb4

Παρότι είναι το ίδιο stick που χρησιμοποίησα στο προηγούμενο μηχάνημα, όπου είχε αναγνωριστεί ως sda, τώρα το όνομά του είναι sdb. Έτσι λοιπόν, το όνομά που θα λάβει εξαρτάται από το μηχάνημα στο οποίο συνδέεται, και δε θα είναι το ίδιο σε όλα τα μηχανήματα.

SCSI δίσκοι ενώ δεν υπάρχουν!!! [^]

Έχω μπερδευτεί!!! Είμαι σε ένα σύστημα με δύο ATA (PATA) δίσκους, αλλά όταν ζητάω τη λίστα των κατατμήσεων, λαμβάνω τα ακόλουθα:

# cat /proc/partitions
major minor  #blocks  name

   3     0  312571224 sda
   3     1   23446836 sda1
   3     2   40957717 sda2
   3     3  245240257 sda3
   3     4    2923830 sda4
   3    64  244198584 sdb
   3    65   41945683 sdb1
   3    66    2104515 sdb2
   3    67          1 sdb3
   3    68  125909437 sdb4
   3    69   74236333 sdb5

Σύμφωνα με όσα έχουν αναφερθεί μέχρι τώρα, το σύστημα φαίνεται να έχει δύο SCSI δίσκους, αλλά εγώ ξέρω ότι υπάρχουν μόνο δύο ATA (PATA) δίσκοι. Τί συμβαίνει;.

Αυτό που έχει συμβεί εδώ, είναι ότι το σύστημα έχει έναν από τους νεότερους πυρήνες του Linux (που χρησιμοποιεί το driver δίσκων libata), ο οποίος εμφανίζει ΟΛΟΥΣ τους δίσκους ως SCSI. Αυτό δε σημαίνει ότι το σύστημα νομίζει ότι οι δίσκοι είναι στην πραγματικότητα SCSI, απλώς τους ονομάζει έτσι.

Για να γίνει ξεκάθαρο, εκτελέστε τις εντολές:

# hdparm -i /dev/sda

/dev/sda:

 Model=WDC WD3200AAJB-00TYA0                   , FwRev=00.02C01, SerialNo=     WD-WCAPZ0648927
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=?16?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

 * signifies the current active mode


# hdparm -i /dev/sdb

/dev/sdb:

 Model=WDC WD2500JB-00GVC0                     , FwRev=08.02D08, SerialNo=     WD-WCAL76141931
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=74
 BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=?16?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6

 * signifies the current active mode

Το ίδιο ισχύει και για τα CD/DVD του συστήματος:

# cat /proc/sys/dev/cdrom/info
CD-ROM information, Id: cdrom.c 3.20 2003/12/17

drive name:             sr1     sr0
drive speed:            0       126
drive # of slots:       1       1
Can close tray:         1       1
Can open tray:          1       1
Can lock tray:          1       1
Can change speed:       1       1
Can select disk:        0       0
Can read multisession:  1       1
Can read MCN:           1       1
Reports media changed:  1       1
Can play audio:         1       1
Can write CD-R:         0       1
Can write CD-RW:        0       1
Can read DVD:           1       1
Can write DVD-R:        0       1
Can write DVD-RAM:      0       1
Can read MRW:           1       0
Can write MRW:          1       0
Can write RAM:          0       1

Η εντολή hdparm δείχνει ότι είναι συσκευές ATA:

# hdparm -i /dev/sr0

/dev/sr0:

 Model=HL-DT-ST DVDRAM GSA-H42L                , FwRev=SL01    , SerialNo=K286CQF2231     
 Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
 RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=0kB, MaxMultSect=0
 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 *udma2 udma3 udma4
 AdvancedPM=no
 Drive conforms to: unknown:  ATA/ATAPI-4,5,6,7

 * signifies the current active mode


Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

[Valid RSS]   Valid CSS!  Valid HTML 4.01 Transitional

[Valid RSS]   Valid CSS!  Valid HTML 4.01 Transitional

[Valid RSS]   Valid CSS!  Valid HTML 4.01 Transitional