Iepuras, numarul de serie al BIOS-ului e scris undeva in ROM. Adresa e aceeasi la toate BIOS-urile de acelasi tip (e.g. Award, sau AMI), dar s-ar putea sa nu fie universala. Oricum, cauta in real-mode sirul respectiv intre adresele F000:0000 si F000:FFFF la BIOS-ul tau, si sunt sanse mari ca si la alt BIOS sa fie tot la adresa aia. Experimenteaza putin pe calculatoarele prietenilor. O metoda destul de sigura sa identifici un BIOS, fara sa stii unde e numarul de serie, este sa calculezi o functie oarecare de hash pentru cei 64Kb ai BIOS-ului.
In general, te lovesti de doua probleme (erorile de tip I si II din statistica) atunci cand folosesti BIOS-ul ca sa identifici un calculator:
a) Continutul BIOS-ului (si probabil si numarul de serie) se schimba cand upgradezi BIOS-ul;
b) Daca flash-ezi doua calculatoare cu acelasi upgrade de BIOS, s-ar putea sa obtii BIOS-uri identice, pentru ca nu stiu daca programelul care face treaba asta genereaza un nou numar de serie (aleator sau pe baza celui vechi), incat calculatoare diferite sa aiba in continuare numere de serie diferite.
Discurile IDE raspund la o comanda de genul "read configuration data", care functioneaza foarte asemanator cu comanda obisnuita de citit sectoare, insa obtii un "sector" virtual cu toate informatiile interesante despre disc. Problema e ca nu stiu sa existe vreo functie DOS sau BIOS care sa faca treaba asta, si nu e o placere sa programezi controller-ul IDE si DMA-ul ca sa citesti informatiile alea -- insa se poate face. Cauta pe Net documentatie despre IDE (sau, mai bine, despre ATAPI), si te lamuresti. Ai grija sa nu dea SmartDrive-ul peste tine in timp ce incerci sa citesti numarul de serie, ca cine stie ce porcarie mai iese!