[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: device /dev/sda16 not exist?



On Mon, 2006-12-04 at 17:06 -0500, T wrote:
> On Mon, 04 Dec 2006 15:06:08 -0500, Greg Folkert wrote:
> 
> > On Sun, 2006-12-03 at 21:14 -0800, Carl Johnson wrote:
> >> > 
> >> > I just created a FAT32 partition using Win2k at /dev/sda16.
> >> > 
> >> > But when I tried to mount it under Linux, I get:
> >> > 
> >> > % mount /dev/sda16 /mnt/tmp1/
> >> > mount: special device /dev/sda16 does not exist
> >> > 
> >> > why the device not exist? [...]
> >> 
> >> If you look at the device numbers for sda16 and sdb under linux I
> >> think you will see why. [...]
> 
> 1st of all, thank you both for the reply.
> 
> I'm using Testing (kernel 2.6.17 + udev), I don't see /dev/sdb in my
> system. 
> 
> > It is part of the SCSI Standard. Even if it is an SATA drive which is an
> > IDE drive in Windows, partition 16 is actually partition 0 on the next
> > drive.
> 
> Both of you has hinted that sda16 should have device numbers as sdb. So I
> gave it a try, as follows:
> 
>   $ ls -l /dev/sda /dev/sda1*
>   brw-rw---- 1 root disk 8,  0 12-04 09:28 /dev/sda
>   brw-rw---- 1 root disk 8,  1 12-04 09:28 /dev/sda1
>   brw-rw---- 1 root disk 8, 10 12-04 14:28 /dev/sda10
>   brw-rw---- 1 root disk 8, 11 12-04 14:28 /dev/sda11
>   brw-rw---- 1 root disk 8, 12 12-04 09:28 /dev/sda12
>   brw-rw---- 1 root disk 8, 13 12-04 14:28 /dev/sda13
>   brw-rw---- 1 root disk 8, 14 12-04 14:29 /dev/sda14
>   brw-rw---- 1 root disk 8, 15 12-04 14:29 /dev/sda15
>   brw-rw---- 1 root disk 9,  0 12-04 16:49 /dev/sda16
>                          ^^^^^
> 
> But that does not work:
> 
> $ mount /dev/sda16 /mnt/tmp1/
> mount: /dev/sda16: can't read superblock
> 
> So is there any workaround so that I can access it? How come my Win2k can
> accesse the sda16 without any problem?

Because it uses IDE drives to access the drive. IDE allows 64
partitions. SATA using "libsata" is classified as a SCSI device. SCSI
dunnah work past a minor 15. And "9,0 block" is not sdb it is /dev/md0.
"8,16 block" is sdb, according to the Major and Minor number references
I find (see further down in the message)

Here is my example of my 2 SATA and 2 "USB-Storage" drive setup
everything automagically setup using udev and hotplug:

greg@princess:/dev$ ls -l sd*
brw-rw---- 1 root disk   8,  0 2006-11-27 19:45 sda
brw-rw---- 1 root disk   8,  1 2006-11-27 19:45 sda1
brw-rw---- 1 root disk   8, 16 2006-11-27 19:45 sdb
brw-rw---- 1 root disk   8, 17 2006-11-27 19:45 sdb1
brw-rw---- 1 root floppy 8, 32 2006-12-06 08:10 sdc
brw-rw---- 1 root floppy 8, 33 2006-12-06 08:10 sdc1
brw-rw---- 1 root floppy 8, 34 2006-12-06 08:10 sdc2
brw-rw---- 1 root floppy 8, 48 2006-12-06 08:10 sdd

As you can see the minor numbers are as follows:
	sda =   0 (  1 -  15 usable for partions 1-15)
		sda   =   0	sda1  =   1
		sda2  =   2	sda3  =   3
		sda4  =   4	sda5  =   5
		sda6  =   6	sda7  =   7
		sda8  =   8	sda9  =   9
		sda10 =  10	sda11 =  11
		sda12 =  12	sda13 =  13
		sda14 =  14	sda15 =  15

	sdb =  16 ( 17 -  31 usable for partions 1-15)
		sdb   =  16	sdb1  =  17
		sdb2  =  18	sdb3  =  19
		sdb4  =  20	sdb5  =  21
		sdb6  =  22	sdb7  =  23
		sdb8  =  24	sdb9  =  25
		sdb10 =  26	sdb11 =  27
		sdb12 =  28	sdb13 =  29
		sdb14 =  30	sdb15 =  31

	sdc =  32 ( 33 -  47 usable for partions 1-15)
		sdc   =  32	sdc1  =  33
		sdc2  =  34	sdc3  =  35
		sdc4  =  36	sdc5  =  37
		sdc6  =  38	sdc7  =  39
		sdc8  =  40	sdc9  =  41
		sdc10 =  42	sdc11 =  43
		sdc12 =  44	sdc13 =  45
		sdc14 =  46	sdc15 =  47

	sdd =  48 ( 49 -  63 usable for partions 1-15)
		sdd   =  48	sdd1  =  49
		sdd2  =  50	sdd3  =  51
		sdd4  =  52	sdd5  =  53
		sdd6  =  54	sdd7  =  55
		sdd8  =  56	sdd9  =  57
		sdd10 =  58	sdd11 =  59
		sdd12 =  60	sdd13 =  61
		sdd14 =  62	sdd15 =  63

	sde =  64 ( 65 -  79 usable for partions 1-15)
		sde   =  64	sde1  =  65
		sde2  =  66	sde3  =  67
		sde4  =  68	sde5  =  69
		sde6  =  70	sde7  =  71
		sde8  =  72	sde9  =  73
		sde10 =  74	sde11 =  75
		sde12 =  76	sde13 =  77
		sde14 =  78	sde15 =  79

	sdf =  80 ( 81 -  95 usable for partions 1-15)
		sdf   =  80	sdf1  =  81
		sdf2  =  82	sdf3  =  83
		sdf4  =  84	sdf5  =  85
		sdf6  =  86	sdf7  =  87
		sdf8  =  88	sdf9  =  89
		sdf10 =  90	sdf11 =  91
		sdf12 =  92	sdf13 =  93
		sdf14 =  94	sdf15 =  95

	sdg =  96 ( 97 - 111 usable for partions 1-15)
		sdg   =  96	sdg1  =  97
		sdg2  =  98	sdg3  =  98
		sdg4  = 100	sdg5  = 101
		sdg6  = 102	sdg7  = 103
		sdg8  = 104	sdg9  = 105
		sdg10 = 106	sdg11 = 107
		sdg12 = 108	sdg13 = 108
		sdg14 = 110	sdg15 = 111

	sdh = 112 (113 - 127 usable for partions 1-15)
		sdh   = 112	sdh1  = 113
		sdh2  = 114	sdh3  = 115
		sdh4  = 116	sdh5  = 117
		sdh6  = 118	sdh7  = 119
		sdh8  = 120	sdh9  = 121
		sdh10 = 122	sdh11 = 123
		sdh12 = 124	sdh13 = 125
		sdh14 = 126	sdh15 = 127

	sdi = 128 (129 - 143 usable for partions 1-15)
		sdi   = 128	sdi1  = 129
		sdi2  = 130	sdi3  = 131
		sdi4  = 132	sdi5  = 133
		sdi6  = 134	sdi7  = 135
		sdi8  = 136	sdi9  = 137
		sdi10 = 138	sdi11 = 139
		sdi12 = 140	sdi13 = 141
		sdi14 = 142	sdi15 = 143

	sdj = 144 (145 - 159 usable for partions 1-15)
		sdj   = 144	sdj1  = 145
		sdj2  = 146	sdj3  = 147
		sdj4  = 148	sdj5  = 149
		sdj6  = 150	sdj7  = 151
		sdj8  = 152	sdj9  = 153
		sdj10 = 154	sdj11 = 155
		sdj12 = 156	sdj13 = 157
		sdj14 = 158	sdj15 = 159

	sdk = 160 (162 - 175 usable for partions 1-15)
		sdk   = 160	sdk1  = 161
		sdk2  = 162	sdk3  = 163
		sdk4  = 164	sdk5  = 165
		sdk6  = 166	sdk7  = 167
		sdk8  = 168	sdk9  = 169
		sdk10 = 170	sdk11 = 171
		sdk12 = 172	sdk13 = 173
		sdk14 = 174	sdk15 = 175

	sdl = 176 (177 - 191 usable for partions 1-15)
		sdl   = 176	sdl1  = 177
		sdl2  = 178	sdl3  = 179
		sdl4  = 180	sdl5  = 181
		sdl6  = 182	sdl7  = 183
		sdl8  = 184	sdl9  = 185
		sdl10 = 186	sdl11 = 187
		sdl12 = 188	sdl13 = 189
		sdl14 = 190	sdl15 = 191

	sdm = 192 (193 - 207 usable for partions 1-15)
		sdm   = 192	sdm1  = 193
		sdm2  = 194	sdm3  = 195
		sdm4  = 196	sdm5  = 197
		sdm6  = 198	sdm7  = 199
		sdm8  = 200	sdm9  = 201
		sdm10 = 202	sdm11 = 203
		sdm12 = 204	sdm13 = 205
		sdm14 = 206	sdm15 = 207

	sdn = 208 (209 - 223 usable for partions 1-15)
		sdn   = 208	sdn1  = 209
		sdn2  = 210	sdn3  = 211
		sdn4  = 212	sdn5  = 213
		sdn6  = 214	sdn7  = 215
		sdn8  = 216	sdn9  = 217
		sdn10 = 218	sdn11 = 219
		sdn12 = 220	sdn13 = 221
		sdn14 = 222	sdn15 = 223

	sdo = 224 (223 - 239 usable for partions 1-15)
		sdo   = 224	sda1  = 225
		sdo2  = 226	sda3  = 227
		sdo4  = 228	sda5  = 229
		sdo6  = 230	sda7  = 231
		sdo8  = 232	sda9  = 233
		sdo10 = 234	sda11 = 235
		sdo12 = 236	sda13 = 237
		sdo14 = 238	sda15 = 239

	sdp = 240 (241 - 255 usable for partions 1-15)
		sdp   = 240	sdp1  = 241
		sdp2  = 242	sdp3  = 243
		sdp4  = 244	sdp5  = 245
		sdp6  = 246	sdp7  = 247
		sdp8  = 248	sdp9  = 249
		sdp10 = 250	sdp11 = 251
		sdp12 = 252	sdp13 = 253
		sdp14 = 254	sdp15 = 255

Applying the above info to the info below should give you a clue as to
the complexity of defining devices.

Past /dev/sdp  is Major  65 block device or /dev/sdq  --> /dev/sdaf
Past /dev/sdaf is Major  66 block device or /dev/sdag --> /dev/sdav
Past /dev/sdav is Major  67 block device or /dev/sdaw --> /dev/sdbl
Past /dev/sdbl is Major  68 block device or /dev/sdam --> /dev/sdcb
Past /dev/sdcb is Major  69 block device or /dev/sdcc --> /dev/sdcr
Past /dev/sdcr is Major  70 block device or /dev/sdcs --> /dev/sddh
Past /dev/sddh is Major  71 block device or /dev/sddi --> /dev/sddx
Past /dev/sddx is Major 128 block device or /dev/sddy --> /dev/sden
Past /dev/sden is Major 129 block device or /dev/sdeo --> /dev/sdfd
Past /dev/sdfd is Major 130 block device or /dev/sdfe --> /dev/sdft
Past /dev/sdft is Major 131 block device or /dev/sdfu --> /dev/sdgj
Past /dev/sdgj is Major 132 block device or /dev/sdgk --> /dev/sdgz
Past /dev/sdgz is Major 133 block device or /dev/sdha --> /dev/sdhp
Past /dev/sdhp is Major 134 block device or /dev/sdhq --> /dev/sdif
Past /dev/sdif is Major 135 block device or /dev/sdig --> /dev/sdiv

For a total of 255 SCSI Disk Drives in direct control of the kernel.
Each with upto 15 usable partitions gives you a possibility of 3825
device files for SCSI Drives only.

On the IDE stuff:
	major 3  block = hda (minor 0-63) and hdb (64-127)
	    Minor numbers for /dev/hda
		hda   =   0	hda1  =   1
		hda2  =   2	hda3  =   3
		hda4  =   4	hda5  =   5
		hda6  =   6	hda7  =   7
		hda8  =   8	hda9  =   9
		hda10 =  10	hda11 =  11
		hda12 =  12	hda13 =  13
		hda14 =  14	hda15 =  15
		hda16 =  16	hda17 =  17
		hda18 =  18	hda19 =  19
		hda20 =  20	hda21 =  21
		hda22 =  22	hda23 =  23
		hda24 =  24	hda25 =  25
		hda26 =  26	hda27 =  27
		hda28 =  28	hda29 =  29
		hda30 =  30	hda31 =  31
		hda32 =  32	hda33 =  33
		hda34 =  34	hda35 =  35
		hda36 =  36	hda37 =  37
		hda38 =  38	hda39 =  39
		hda40 =  40	hda41 =  41
		hda42 =  42	hda43 =  43
		hda44 =  44	hda45 =  45
		hda46 =  46	hda47 =  47
		hda48 =  48	hda49 =  49
		hda50 =  50	hda51 =  51
		hda52 =  52	hda53 =  53
		hda54 =  54	hda55 =  55
		hda56 =  56	hda57 =  57
		hda58 =  58	hda59 =  59
		hda60 =  60	hda61 =  61
		hda62 =  62	hda63 =  63

	    Minor numbers for /dev/hdb
		hdb   =  64	hdb1  =  65
		hdb2  =  66	hdb3  =  67
		hdb4  =  68	hdb5  =  69
		hdb6  =  70	hdb7  =  71
		hdb8  =  72	hdb9  =  73
		hdb10 =  74	hdb11 =  75
		hdb12 =  76	hdb13 =  77
		hdb14 =  78	hdb15 =  79
		hdb16 =  80	hdb17 =  81
		hdb18 =  82	hdb19 =  83
		hdb20 =  84	hdb21 =  85
		hdb22 =  86	hdb23 =  87
		hdb24 =  88	hdb25 =  89
		hdb26 =  90	hdb27 =  91
		hdb28 =  92	hdb29 =  93
		hdb30 =  94	hdb31 =  95
		hdb32 =  96	hdb33 =  97
		hdb34 =  98	hdb35 =  99
		hdb36 = 100	hdb37 = 101
		hdb38 = 102	hdb39 = 103
		hdb40 = 104	hdb41 = 105
		hdb42 = 106	hdb43 = 107
		hdb44 = 108	hdb45 = 109
		hdb46 = 110	hdb47 = 111
		hdb48 = 112	hdb49 = 113
		hdb50 = 114	hdb51 = 115
		hdb52 = 116	hdb53 = 117
		hdb54 = 118	hdb55 = 119
		hdb56 = 120	hdb57 = 121
		hdb58 = 122	hdb59 = 123
		hdb60 = 124	hdb61 = 125
		hdb62 = 126	hdb63 = 127

Please apply above logic to the listings below:

	major 22 block = hdc (minor 0-63) and hdd (64-127)
	major 33 block = hde (minor 0-63) and hdf (64-127)
	major 34 block = hdg (minor 0-63) and hdh (64-127)
	major 56 block = hdi (minor 0-63) and hdj (64-127)
	major 57 block = hdk (minor 0-63) and hdl (64-127)
	major 88 block = hdm (minor 0-63) and hdn (64-127)
	major 89 block = hdo (minor 0-63) and hdp (64-127)
	major 90 block = hdq (minor 0-63) and hdr (64-127)
	major 91 block = hds (minor 0-63) and hdt (64-127)

For a total of 10 IDE controllers and 2 drives posible per channel.

20 drives with 63 usable partitions different partitons gives 1260
devices files for IDE Drives only (but not SATA drives which are
classified as SCSI in Linux)


Reference for Major and Minor, Block and Character mode devices:

	http://www.lanana.org/docs/device-list/devices-2.6+.txt

Search for "8 block" and read

Then search for "9 block" (or just scroll down) is for /dev/md* setups


So the lesson here, is one I learned about 12 years ago:

	Allocate the whole disk in 15 partitions. Period.

I know, it sucks. But Dual booting taught me that, years ago. I also
learned that Novell's Netware (through Netware 6 that I know of) only
allows 8 partitions per disk using traditional disk management (not
NSS)... if you don't use it up in 8 you lose it, unless you remove all
data and re-partition.

For the record, now that I am using HUGE drives(300GB+), I use LVM or
EVMS to manage allocations. I know Windows doesn't know how to use LVM
or EVMS. I don't use Windows anymore except in a Virtual machine and I
can't remember the last time I even booted it.
-- 
greg, greg@gregfolkert.net

The technology that is
Stronger, better, faster:  Linux

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: