________________________________________________________________________________________________ SEGOZ LICENSE | Questo documento viene fornito così com'è. L'autore non si assume nessuna responsabilità | sul contenuto del file. Tutto quello che qui viene riportato è a puro scopo informativo. | Il testo certamente può contenere errori e imprecisioni, quindi se siete interessati a | contribuire al miglioramento dello stesso potete mandare una mail all'indirizzo che | trovate sul sito da cui è stato prelevato il file. | Si prega di lasciare questo documento integro, o almeno se lo modificate lasciate un | riferimento all'autore originale del testo. | Per qualsiasi informazione o domanda mandate pure una mail. | SEGOZ | ------------------------------------------------------------------------------------------------| ................................................................................................| ------------------------------------------------------------------------------------------------| WINdows eXPerienza Round 2...Ovvero Programmer VS Windows XP parte 2 | ................................................................................................| ------------------------------------------------------------------------------------------------| Rieccomi qua con la seconda puntata di questo viaggio nel mondo di WINZOZZ XP.... | Come vi avevo promessso nella scorsa puntata ho fatto qualche giro in rete e tra vari documenti | e ebook ho trovato qualcosa di interessante riguardo a quello che avevamo cominciato a vedere la| volta precedente...vi ricordate del file boot.ini??bene vediamo alcune caratteristiche. | | FILE boot.ini | 1. Locazione tipica: C:\boot.ini | 2. Caratteristiche: al comando "attrib C:\boot.ini" otteniamo la seguente risposta | A SH C:\boot.ini | Questo significa che è un file di archivio(A), sistema(S) ed infine è nascosto (H). | 3. Viene letto da Ntldr per sapere quali sistemi operativi visualizzare per la scelta e | il timeout prima di avviare quello di default | 4. Contiene sostanzialmente due sezioni [boot loader] e [operating systems] (ricordate?)| | Visto che ne abbiamo accennato diciamo pure due cose su NTLDR. | | NTLDR: | In un pc con installato un sistema operativo con tecnologia NT (NT3.X,NT4,WIN2000,XP,..??), | allo startup il boot sector di NT carica e esegue NTLDR, un programma che serve per mostrare | un menu con i sistemi operativi "caricabili"... | NTLDR può infatti caricare qualsiasi sistema operativo installato sul sistema, a patto che il | il file boot.ini sia adeguatamente configurato per puntare al boot sector del sistema operativo | in questione. | | Passiamo ora a vedere più in dettaglio il punto 4 della descrizione del file boot.ini che | abbiamo fatto sopra. | Ecco qui un esempio di come potrebbe essere: | .................................boot.ini.......................................................| [boot loader] | timeout=30 | default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS | [operating systems] | multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect | ................................................................................................| | Per quanto riguarda la prima sezione [boot loader], abbiamo innanzitutto la voce "timeout" che | come dice la parola stessa indica per quanto tempo (in secondi) viene mostrato il menu di scelta| con i vari sistemi operativi che possono essere avviati. Di default questo valore è impostato a | 30 secondi. Piccola nota: se impostate il valore a -1 disabiliterete il timer. | La voce "default" indica quale delle voci del menu di boot attivare una volta scaduto il timer. | La voce default deve essere una di quelle che compaiono nella sezione [operating systems]. | Per quanto riguarda invece la seconda sezione [operating systems], essa contiene la lista dei | possibili sistemi operativi che possono essere avviati. Come potete notare dal file di esempio | sopra i path sono espressi in una forma particolare che adesso vi spiegherò. | Questi particolari path (percorsi) vengono definiti "ARC paths". Il file boot.ini usa infatti le| specifiche Advanced RISC Computing (ARC) per indicare le locazioni delle partizioni di boot dei | sistemi operativi installati. | Un path ARC tipico assomiglia a questo: | multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect | dove: | - il primo parametro multi() indica il controller del disco: solitamente impostato a 0 | - il secondo parametro disk() (tipicamente) non viene utilizzato con parametro multi(), quindi | viene posto solitamente a disk(0) | - il terzo parametro rdisk() indica quale disco utilizzare sul controller indicato in multi(x), | quindi se ci sono più hard-disk installati, il primo è rdisk(0), il secondo rdisk(1) e così | via | - il quarto parametro partition() indica il numero della partizione di boot che ci interessa, | qui il discorso cambia, infatti l'enumerazione parte da 1 (partition(1) prima partizione) | - il quinto parametro \ indica la directory nella quale risiedono i file di | sistema della versione di windows installata: per esempio \windows per Xp o \Winnt per win2000| Per concludere possiamo personalizzare la scritta ...="Microsoft Windows XP Professional" in | qualcos'altro a nostro piacimento. Se vi state chiedendo cosa sia quel /fastdetect è un | particolare parametro col quale avviare Windows (in questo caso disabilita il riconoscimento di | mouse seriali). Ne esistono molti altri, che sono però per la maggior parte parametri che | vengono usati in fase di debugging o sviluppo. | Dimenticavo di dirvi che gli ARC paths possono far uso anche del parametro scsi() al posto di | multi() per indicare il sistema di boot (nel caso di controller/dischi SCSI). La questione a | questo riguardo si complica un pochino e non ne parlo qui anche perchè non mi sono ancora | documentato a sufficienza riguardo all'argomento. In ogni caso se vi interessa approfondire | l'argomento perchè siete direttamente interessati (possessori di dischi SCSI) potete consultare | il "Microsoft Knowledge Base Article #102873" dal titolo "BOOT.INI and ARC Path Naming | Conventions and Usage" che parla approfonditamente dell'argomento. | Dato che l'ho utilizzato in parte per scrivere questo breve tutorial penso proprio che (visto | che è in inglese :-( )lo tradurrò appena possibile (tempo e impegni permettendo) rendendolo | disponibile on-line. | | Anche questa volta penso proprio di essere arrivato alla fine, spero di essere stato utile e di | non avervi confuso le idee più di prima...Certo l'argomento trattato non è certo all'ordine del | giorno ma è cmq molto interessante e infatti vi lascio alcuni tips e note bibliografiche, | così potrete darvi da fare per approfondire e correggere il mio tutorial (le mail sono sempre | ben accette)...alla prossima!!! | | ................................................................................................| NOTE BIBLIOGRAFICHE E TIPS UTILI | 1. The NTLDR Hacking Guide by Jason C. Locke | E' una guida un po' datata sull'argomento (mi pare settembre 1996) infatti si fa riferimento | a NT3.5, DOS, WIN 95, tuttavia è molto ben fatta: vale la pena leggerla anche perchè ha molti| altri spunti interessanti riguardanti MBR,boot,bootsector, etc.... | 2. Tutorial su BOOT.INI dal sito www.harrrdito.it | E' la traduzione italiana di un tutorial inglese. Ben fatta :-) | 3. "WINDOWS XP INSIDE OUT" | Per chi ha il libro meglio...senno' scandagliando bene la rete si può trovare una versione | elettronica del libro (in formato .chm) che è comoda da consultare e sfogliare sul pc:-) | 4. Microsoft Knowledge Base Article #102873 | TITOLO: BOOT.INI and ARC Path Naming Conventions and Usage | 5. Microsoft Knowledge Base Article #131603 | TITOLO: Disabling the Timer for Windows NT Boot Loader | 6. WINdows eXPerienza Round 1...Ovvero Programmer VS Windows XP parte 1 | Il tutorial (scaturito da un'esperienza reale) che mi ha dato lo spunto per approfondire | l'argomento :-) | ................................................................................................| ------------------------------------------------------------------------------------------------|