Come identificare schede madri che non supportano più di 32gb
Gli hd ide che si comprano di recente, sono dotati di un jumper, che permette di limitarne la capacità a 32gb. Se la scheda madre è stata comprata nel '98, è altamente probabile che sia dotata di un bios con questa limitazione. Infatti si tratta di un problema di tipo software, che può essere risolto, aggiornando il bios (questa guida è per chi non puo' o non vuole aggiornare il bios). Se in fase di boot, il pc si blocca mentre limitando la capacità del disco col jumper, il pc boota normalmente, significa che questa guida potrebbe interessarvi
Altri limiti
Lo scopo
Partizionare il disco
Il parametro puo' essere aggiunto a mano dalla linea di boot del livecd, dopo aver scelto il kernel da bootare.
Nel mio caso, il kernel ha rilevato che il disco era stato limitato a 32gb, ed ha disattivato il limite riportando la dimensione ai 120gb nativi.
…
hda: Host Protected Area detected.
current capacity is 66055248 sectors (33820 MB)
native capacity is 234493056 sectors (120060 MB)
hda: Host Protected Area disabled.
hda: 234493056 sectors (120060 MB) w/8192KiB Cache, CHS=16383/255/63, UDMA(33)
hda: cache flushes supported
…
Questi messaggi li potete leggere col comando : dmesg
A questo punto, siamo pronti per partizionare il disco col comando : fdisk /dev/hdX
goodevent ~ # fdisk /dev/hdaThe number of cylinders for this disk is set to 14596.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)Command (m for help): p
Disk /dev/hda: 120.0 GB, 120060444672 bytes
255 heads, 63 sectors/track, 14596 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
…
Questa è un'ulteriore conferma della capacità realmente riconosciuta dal kernel.
Il problema a questo punto è il seguente : se partizioniamo normalmente il disco, tenendo cura di creare partizioni windows nei primi 32gb, senza sforare, e nello spazio rimanente mettiamo quelle linux, non abbiamo problemi col Windows 9x. Col Windows 2000 invece, il programma di installazione, crasha, e fa comparire partizioni di dimensioni dell'ordine dei terabyte . Se invece abbiamo a che fare con una versione di Windows 2000 pre-installata, questo in fase di boot si blocca con uno schermo blu.
La soluzione
Command (m for help): l
0 Empty 1c Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid
1 FAT12 1e Hidden W95 FAT1 75 PC/IX be Solaris boot
2 XENIX root 24 NEC DOS 80 Old Minix c1 DRDOS/sec (FAT-
3 XENIX usr 39 Plan 9 81 Minix / old Lin c4 DRDOS/sec (FAT-
4 FAT16 <32M 3c PartitionMagic 82 Linux swap / So c6 DRDOS/sec (FAT-
5 Extended 40 Venix 80286 83 Linux c7 Syrinx
6 FAT16 41 PPC PReP Boot 84 OS/2 hidden C: da Non-FS data
7 HPFS/NTFS 42 SFS 85 Linux extended db CP/M / CTOS / .
8 AIX 4d QNX4.x 86 NTFS volume set de Dell Utility
9 AIX bootable 4e QNX4.x 2nd part 87 NTFS volume set df BootIt
a OS/2 Boot Manag 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access
b W95 FAT32 50 OnTrack DM 93 Amoeba e3 DOS R/O
c W95 FAT32 (LBA) 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
e W95 FAT16 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs
f W95 Ext'd (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee EFI GPT
10 OPUS 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
11 Hidden FAT12 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b
12 Compaq diagnost 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
14 Hidden FAT16 <3 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
16 Hidden FAT16 61 SpeedStor a9 NetBSD f2 DOS secondary
17 Hidden HPFS/NTF 63 GNU HURD or Sys ab Darwin boot fd Linux raid auto
18 AST SmartSleep 64 Novell Netware b7 BSDI fs fe LANstep
1b Hidden W95 FAT3 65 Novell Netware b8 BSDI swap ff BBT
Questa è la lista dei tipi di partizioni esistenti. Dopo innumerevoli tentativi, ho scoperto che c'è un modo per non far prendere in considerazione dal Windows 2000, le partizioni linux. La soluzione stava nello specificare il tipo di partizione : 0 Empty
Il kernel di linux, a differenza di quello di windows riconosce anche le partizioni Empty, invece il windows le ignora direttamente.
Quindi, nel caso del Windows 2000, oltre ad aver avuto cura di restare nei primi 32gb, bisogna anche impostare il tipo delle partizioni linux che sforano i 32gb come Empty.
Un esempio di partizionamento ad hoc
goodevent mark2097 # fdisk /dev/hdaCommand (m for help): p
Disk /dev/hda: 120.0 GB, 120060444672 bytes
255 heads, 63 sectors/track, 14596 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System
/dev/hda1 * 1 623 5004216 7 HPFS/NTFS
/dev/hda2 624 3861 26009235 f W95 Ext'd (LBA)
/dev/hda3 3862 4484 5004247+ 0 Empty
/dev/hda4 4485 14596 81224640 0 Empty
/dev/hda5 624 628 40131 83 Linux
/dev/hda6 629 676 385528+ 82 Linux swap / Solaris
/dev/hda7 677 3042 19004863+ c W95 FAT32 (LBA)
/dev/hda8 3043 3861 6578586 83 Linux
Questa è una configurazione particolare che ho voluto adottare.In pratica ho deciso di creare una partizione da 5gb per l'installazione di Windows 2000 (hda1) e poi, creare una partizione estesa da 26gb, nella quale mettere una partizione fat32.A questo punto, pero' ho adoperato degli accorgimenti : in primo luogo, ho avuto cura di creare all'interno della partizione estesa anche le partizioni di di boot (hda5) di swap (hda6) e la root (hda8). La partizione di boot, deve stare per forza nei primi 32gb, per il limite imposto dal bios : prima dell'esecuzione del kernel di linux, l'hd funziona col limite di capacità. Ho inserito anche la partizione di swap e la root nella partizione estesa, per guadagnare 2 ulteriori partizioni utilizzabili : la tabella delle partizioni del Dos, permette solo di creare 4 partizioni primarie ed una di queste 4, puo' essere estesa. In pratica, dopo aver creato la partizione estesa ed aver riempito così i 32gb utilizzabili possono essere adoperate per linux solo altre 2 partizioni primarie, nel mio caso : hda3 e hda4. In hda3 ho messo le home di sistema, ed hda4 l'ho adibita come partizione per il backup dei dati.
La root di sistema, poteva anche essere messa fuori dalla partizione estesa senza alcun rischio, perchè l'immagine del kernel risiede nella partizione di boot, guadagnando un altro po' di spazio, per il Windows, rinunciando pero' ad avere un'ulteriore partizione utilizzabile per linux.
Come potete notare, le uniche partizioni che richiedono di essere impostate come Empty, sono quelle che vanno oltre il 32°gb.
Ultimi accorgimenti : la partizione estesa, non deve andare oltre il 32°gb, io infatti l'ho fatta di 26gb, mantenendomi quindi
entro i 32gb (5+26=31gb). Inoltre, non dimenticate di settare i tipi di partizione giusti per le partizioni windows : di default l'fdisk le setta a tipo Linux. Nel mio caso ho settato hda1 come ntfs ed hda7 come fat32.
Fase finale
A questo punto potete installare senza problemi il Windows 2000 usando il prog. di installazione scegliendo la partizione che gli abbiamo prescelto. Per quanto riguarda linux, il discorso è lo stesso, solo che bisogna assicurarsi che il kernel della distro che andiamo ad installare, venga eseguito col parametro hda=stroke nel caso in cui si tratti di un kernel recente, o che abbia l'opzione Auto-Geometry resizing support attiva nel caso di kernel più vecchi. In ogni caso potete aggiungere a mano l'opzione di boot prima del boot del cd di installazione, o addirittura ad installazione effettuata, sulla linea di boot del lilo o del grub.
Non ho descritto tutti i passi di utilizzo del comando fdisk, perchè sono facili e c'è una guida in linea, questo anche per evitare che chi non ha mai messo mano ad una tabella di partizioni, possa fare troppi danni : l'fdisk è un comando pericoloso e va usato con coscienza dopo averne letta la documentazione (man fdisk). Inoltre l'fdisk non è l'unico programma per fare queste cose, vi ho detto solo come procedere, In ogni caso, se vi cimentate a fare questa cosa, probabilmente avrete intensione di perdere il contenuto preesistente del disco, quindi prendete le dovute precauzioni.
Chi è che è costretto a fare tutto questo?
Io per esempio, perchè sono in possesso di una asus p2b con il bios limitato a 32gb. Di conseguenza è una problematica che si pone solo per chi è in possesso di hw vecchio (pII-450mhz nel mio caso), e nn vuole rinunciare ad usarlo considerando che tutto sommato si tratta di hw abbastanza potente. A questo punto ci si potrebbe chiedere : perchè installarci anche Windows 2000 ?
La risposta è che alla fine, è l'unica versione di Windows decente che puo' girarci sopra, ed in certi rari casi non se ne puo' fare a meno, ahimè! :°
by MarK2097