Kako podesiti pametne telefone i računare. Informativni portal

FreeBSD: ručno particioniranje diska.

Instalacija FreeBSD 10 za nekoliko minuta (instalacija korak po korak)

FreeBSD je besplatni operativni sistem. Moderna modifikacija UNIX-a. Jedan od mnogih pouzdani sistemi, odličan za administraciju lokalna mreža, kao pristupni server, mail server, fajl server, server imena i ostalo. Nije uzalud da je Mac OS nastao na njegovoj osnovi tokom vremena. Također je moguće instalirati grafičku ljusku ili koristiti gotovo rješenje PCBSD projekta.

1. Izbor distributivnog kompleta, priprema instalacioni medij
2. Početak instalacije, particioniranje diska
3. Izbor i instalacija komponenti

FreeBSD First mrežni sistem i za najbolja izvedba nedostaje (zadano) grafička ljuska. Cijeli smisao rada u ovom sistemu svodi se na uređivanje potrebne datoteke, instaliranje programa, omogućavanje funkcija i kucanje komandi.

A kada sistem prilagodite svojim potrebama, on vas neće iznevjeriti. Osobno, u procesu rada s njim (2 godine), nisam primijetio nikakve kvarove, kvarove i opterećenje na opremi.

Izbor distribucije, priprema instalacionog medija

Na službenoj web stranici možete odabrati verziju operativnog sistema, dubinu bita i platformu (amd64, i386, powerpc, sparc)

Nakon odabira platforme otvorit će se lista instalacijskih opcija (CD, DVD, FTP serveri, MS DOS, diskete, pa čak i magnetne trake).

Naravno, bolje je ne "igrati se s tamburom" i preuzeti distribucijski komplet za CD ili DVD diskove i snimiti instalacioni disk pomoću programa: Alcohol120%, UltraISO ili bilo kojeg drugog programa za snimanje instalacioni disk.

Početak instalacije, particioniranje diska

Pokrećemo se sa instalacionog diska i pokreće se meni pokretačkog programa FreeBSD. Možete sačekati 10 sekundi auto start instalater ili kliknite na dugme Enter ili 1.

Na ekranu će se prikazati mnogo linija određene opreme. Možete ga pogledati klikom na dugme. scroll lock , listanje stranica pomoću dugmadi PageUp i PageDown.

Nakon što je hardver identificiran i testiran, pojavit će se ekran dobrodošlice FreeBSD instalacije. Kliknite Instaliraj


U prozoru za odabir rasporeda tastature ostavite zadani ili odaberite odgovarajući raspored.



doc- sistemsku dokumentaciju

igrice- igre

luke- portovi za instaliranje programa

src- jezgro sistema

Obično ostavljam samo src, pošto mi ne treba dokumentacija, igre takođe, portove ćemo instalirati i ažurirati nakon instalacije sistema, pošto se najnoviji sklop ažurira preko interneta. Kernel se također može instalirati kasnije.


Odlučite se za rezove (ovako se nazivaju FreeBSD particije) tvrdog diska. Možemo odabrati opciju da automatski kreiramo particije ili sami kreiramo particije koje su nam potrebne.


Uređivač sekcija je automatski kreirao tri oblasti:

ada0p1 512KB freebsd-boot- područje bootloadera. Dosta je, ne više

ada0p2 19GB freebsd-ufs /- root particija operativnog sistema. Sav preostali prostor za sistem i fajlove sa kojima ćete raditi. U stvari, potrebno mu je samo 1 GB memorije, uz uslov da se kreiraju druge particije i da će se raditi samo na njima.

Za stručnjake: Uobičajeno je kreirati i druge sekcije pored jedne root particije:

/var- sadrži privremene fajlove, logove koji se stalno menjaju.

/usr- sadrži datoteke sa instalirane programe i ostalo.

/data- u ovom odeljku sam imao fajlove sajta, na primer.

ada0p3 1.0GB freebsd-swap nema- paging file. Njegova veličina ovisi o količini RAM-a. Ako je mali, recimo 1GB, onda je preporučljivo podesiti paging fajl duplo veći. Ako ima puno RAM-a, tada se swap datoteka može postaviti jednaka količini RAM-a, ili čak i manja.


Kliknite na dugme Završi, potvrdite prihvaćene promjene Počinite i počinje instalacija FreeBSD sistema.


Nakon instalacije, od vas će se tražiti da unesete lozinku dva puta. Uneti znakovi se ne prikazuju.


Izbor i montaža komponenti

Nakon toga, predlaže se konfiguriranje mrežne kartice (kartica) za pristup mreži. Za razliku od Linuxa, gdje god Mrežna kartica pozvao eth, in FreeBSD mreža Kartica se može drugačije zvati, ovisno o proizvođaču.


Biramo verziju internet protokola, četvrtu verziju IPv4 ili šestu IPv6. Zatim konfigurišite mrežu preko DHCP-a ili prepišite ip adresu, podmrežnu masku i gateway.


Postavite vrijeme prema vremenu lokalnog uređaja ili odaberite svoju vremensku zonu.


Odaberite usluge koje će se pokrenuti kada se FreeBSD pokrene. Ostavite zadano.


Možete dodati dodatne korisnike, dodijeliti im prava i njihove direktorije. Sve ovo možete uraditi kasnije.


Instalacija je pri kraju i možda ćete htjeti ponovo podesiti ili rekonfigurirati neke postavke prije završetka.

Često obraćam pažnju na činjenicu da su jednostavna pitanja često slabo pokrivena na internetu. To je vjerovatno zato što su svi gurui sigurni da niko nikada neće postavljati takva pitanja. glupa pitanja jer svi to znaju. Ali moja praksa je pokazala da su upravo takva mala jednostavna pitanja najčešća ne samo za početnike, već i za ozbiljne administratore koji jednostavno nisu morali da se bave ovim. Čak ni ozbiljni administratori to ne rade svaki dan, ali da ne bi zaboravili, za sebe drže svojevrsnu varalicu, a da to nikome ne priznaju. Hajde da popravimo sve. Sada ćete naučiti kako dodati za 5 minuta HDD u FreeBSD-u. Dakle. Prvo će biti pružena potpuna instrukcija za razumijevanje procesa, a na kraju će biti kratka lista akcija, koja će sadržavati samo listu naredbi kao cheat sheet.

Detaljna uputstva sa objašnjenjima

Odabir naziva tvrdog diska

Prvo moramo odrediti naziv uređaja koji smo upravo dodali. U tome će nam pomoći sljedeća naredba:

Lista Geom diskova

Ili ovu naredbu:

Cam control devlist

U stvarnom sistemu, ove komande će pokazati više korisne informacije, i to: nazivi uređaja i njihovi serijski brojevi.

Prije instaliranja novog uređaja znali smo da je naš sistem instaliran na ada0, dakle logično naš novi disk ada1. To možete odrediti po imenu novog uređaja, njegovom serijski broj ili volumen.

Sada provjerimo postoji li oznaka na našem novom disku

gpart show ada1

Disk nema particiju.

Uklanjanje postojeće oznake

Ako je disk već korišten i postoji potreba da uklonite particiju s njega, samo pokrenite:

Gpart uništi -F ada1

Kreiranje GPT oznake

Prvo moramo kreirati raspored diska. Toplo preporučujem da zaboravite na MBR i pređete na novi, praktičniji i funkcionalniji - GPT.

Kreirajte GPT particiju na disku, a zatim provjerite šta se dogodilo:

gpart stvoriti -s gpt /dev/ada1 gpart pokazati ada1

Sada imamo GPT particiju diska. Iz izlaza možete vidjeti da je apsolutno cijeli disk, počevši od LBA 34 pa do LBA 8388541, prazan. LBA 0-33 - rezervisano od strane sistema za particionu tabelu.

Recimo da trebamo kreirati dvije particije na ovom disku:

  • swap- swap particija
  • podaci- odjeljak tipa ufs za pohranjivanje svih podataka koji su nam potrebni.

Kreiranje sekcija (odsječaka)

Ako se instalacija izvodi na modernom tvrdi diskovi, čija je veličina sektora = 4 kb, tada prilikom kreiranja particija (particija) morate koristiti poravnanje. Postoje dva načina da se nastavi: 1) ako navedemo parametre sekcije u blokovima, zatim unesemo broj bloka u višestrukim od 8, na primjer: -b 40; 2) ako navedemo veličinu odjeljka u bajtovima ili uopće ne navedemo početak i veličinu, koristite parametar -a 4k, koji će odgovarati početku i kraju sekcije na sektore od 4 kb. Pošto smo unutra ovaj primjer vršimo probnu instalaciju na virtual hard disk, ne morate. U svakom slučaju, prije kreiranja particija, morate točno znati veličinu sektora vašeg diska, inače će to dovesti do strašnih kočnica u radu.

Sada kreirajmo sekcije. Da biste to učinili, postoji naredba gpart add sa raznim opcijama. Prvi parametar -t- označava tip sistema datoteka koji se kreira. U našem slučaju će se koristiti dva tipa: freebsd-swap i freebsd-ufs. Sledeće dvoje opcioni parametar: -b- označava LBA broj iz kojeg treba kreirati particiju. Ako nije navedeno dati parametar, tada će se particija kreirati automatski od prvog slobodnog LBA. -s- označava veličinu particije u LBA. Veličina jednog LBA bloka = 512 bajtova. Poželjno je navesti broj LBA blokova, ali je moguće i u kilo/mega/giga/… bajtovima (sufiks k/M/G). Ako ne navedete ovaj parametar, tada će se particija kreirati do maksimalno mogućeg LBA unutar praznog područja. Također možete odrediti oznaku odjeljka kao parametar, na primjer: -l swap1- u ovom slučaju će se kreirati oznaka /dev/gpt/swap1, pomoću koje možete lakše pristupiti particiji. Last obavezan parametar ide put do diska. U našem slučaju: /dev/ada1.

Napravimo dvije particije i onda vidimo šta ćemo dobiti. Kreiraćemo prvu particiju bez navođenja početnog LBA, ali navodeći veličinu od 1 GB (2097152 bloka). Drugu particiju ćemo kreirati bez navođenja početnog LBA i bez specificiranja veličine - na taj način će biti kreirana na svom slobodnom prostoru.

gpart add -t freebsd-swap -s 2097152 /dev/ada1 gpart add -t freebsd-ufs /dev/ada1 gpart prikaži ada1

Veličina se može specificirati u bajtovima, a ne u blokovima. Mnogo je zgodnije. Jedina negativna je ta što sistem ne može uvijek ispravno izračunati broj blokova. Mogu postojati slučajevi kada će određeni broj blokova ostati prazan na disku kada se specificira veličina particije u bajtovima.

Kreiranje sistema datoteka (formatiranje)

Swap particije ne moraju biti formatirane. Ali sekcije poput ufs moraju biti formatirane prije upotrebe. Ispravnije bi bilo reći: na njima se mora kreirati sistem datoteka.

Da biste kreirali sistem datoteka na drugoj particiji, samo pokrenite sljedeću naredbu:

Newfs -U /dev/ada1p2

U ovom slučaju je korišten parametar -U - on označava da mehanizam Soft Updates treba da se koristi u ovom sistemu datoteka. Možete odabrati da ne koristite ovu opciju da onemogućite ovaj mehanizam.

Montaža

Sljedeći korak je montiranje particija. Prvo, da ne zaboravimo, dodajmo naše nove sekcije u /etc/fstab. Moj fajl nakon uređivanja izgleda ovako:

Da biste ponovo montirali sve particije prema /etc/fstab datoteci, jednostavno pokrenite naredbu:

Mount-a

Kao što možete vidjeti iz izlaza, /dev/ada1p2 particija je montirana. Sada da vidimo šta se desilo sa SWAP particijom. Pokrenimo naredbu:

kao što se vidi, nova sekcija SWAP nije montiran. Da biste montirali SWAP, morate ga omogućiti posebnom naredbom:

Zamijenite /dev/ada1p1

Na isti način, koristeći naredbu swapoff, morate isključiti SWAP particiju prije nego što izvršite bilo kakvu radnju na njoj.

To su svi koraci za dodavanje novog tvrdi disk u sistem su završeni.

Kratka instrukcija

Dato: tvrdi disk /dev/ada1

Target: izbrisati postojeće oznake, kreirati nova oznaka GPT, kreirajte dvije particije: swap i data i povežite ih na radni sistem.

Nakon svakog koraka uradite gpart show da vidite rezultat. Slijed:

  1. Uklonite postojeće oznake: gpart uništi -F ada1
  2. Kreirajte novi izgled: gpart create -s gpt /dev/ada1
  3. Kreirajte dvije particije: swap i podaci: gpart add -t freebsd-swap -s 2097152 /dev/ada1 gpart add -t freebsd-ufs /dev/ada1
  4. Kreirajte sistem datoteka UFSv2 na drugoj particiji: newfs -U /dev/ada1p2
  5. Dodajte linije u /etc/fstab za automatsko montiranje pri pokretanju: /dev/ada1p1 none swap sw 0 0 /dev/ada1p2 /mnt ufs rw 2 2
  6. Montirajte novu particiju (naredba montira sve particije iz /etc/fstab datoteke): mount -a
  7. Omogućite novu swap particiju naredbom: swapon /dev/ada1p1

Ovim je podešavanje završeno.

Ovaj članak će se fokusirati na particioniranje tvrdih diskova, odnosno tvrdih diskova, ručno, bez pomoći sysinstall programa. Potreba za tim se ne javlja tako često, ali se javlja. Da i za opšte obrazovanje Korisno je napraviti takvu operaciju barem jednom u životu.

Kao što znate, diskovi se obično dijele na sekcije (particije u smislu DOS/Windows i Linux). Ali FreeBSD i ovdje ima originalan pristup. Da bi se to razumelo, prvo se mora reći

Malo o geometriji

Riječ "geometrija" u naslovu rubrike nije slučajno uzeta pod navodnicima. Činjenica je da, pošto je volumen diskova premašio 500 sa malim megabajtom (ograničenje starog BIOS-a personalnih računara, koji su se ranije zvali IBM-kompatibilni računari), korisnik nikada nije naišao na njihovu pravu geometriju. Softver ugrađen u elektroniku diska (tzv. firmware) pretvara ga u oblik pristupačan percepciji BIOS-a - neću se zadržavati na detaljima kako se to radi zbog nekompetentnosti (a malo je vjerovatno da će itko osim diska proizvođači dobro poznaju ove detalje).

Geometrija diska dostupna BIOS-u je opisana u terminima cilindar/glava/sektor (cilindri/glave/sektori, C/H/S). Slikovito rečeno (a, ponavljam, sve što je vezano za geometriju diska sada treba shvatiti isključivo figurativno, alegorijski ili metaforički), glave čitaju informacije sa koncentričnih magnetnih staza (traka) na koje je podijeljena svaka ploča diska. Vertikalna zbirka numera sa istim brojem na svim pločama koje čine disk kao fizički uređaj, i formira cilindar. A sektori su rezali ploču, zajedno sa njenim tragovima, u radijalne fragmente zvane blokovi. Odnosno, može se zamisliti na način da blok leži na raskrsnici (u prostoru) cilindra, kolosijeka i sektora.

Broj staza i sektora u modernim diskovima je obično fiksan (tačnije, pojavljuje se kao takav u BIOS-u): 255 staza je izrezano na 63 sektora svaki, što zajedno daje 16065 blokova po cilindru. A broj cilindara je određen volumenom diska (neću ulaziti u aritmetičke proračune). Jedina bitna stvar ovdje je da se glave diskova mehanički sinhrono kreću po površini svih ploča. Odnosno, ako se informacije čitaju sa 1. staze na jednoj ploči, onda se sve ostale glave kreću na istu stazu - svaka na svojoj ploči.

Ponavljam, sve je ovo proizvoljno - makar samo zato što je koncept cilindra u geometrijskom smislu te riječi vrlo teško primijeniti na savremeni diskovi, često ne samo jednolične, već čak i, da tako kažem, poluploče (tj. sa samo jednom stranom jedne ploče uključene). Ali bavljenje ovom geometrijom zavisi od firmvera i BIOS-a, ali za nas su cilindri oni koji su od interesa - skup staza kojima se pristupa sinhrono, i blokovi - minimalni kvanti prostor na disku.

Tragovi koji formiraju cilindre nastaju prilikom početnog fabričkog obeležavanja diska - tzv. formatiranje na niskom nivou. Iz prethodno rečenog, očigledno je da će pristup podacima unutar jednog cilindra ili grupe susjednih biti brži nego podacima koji su djelimično upisani na prvom i, recimo, posljednjem cilindru diska. Ovaj slučaj nije tako nevjerovatan kao što se čini: u DOS-u, gdje je prostor zauzet izbrisane datoteke, je označeno kao neiskorišteno, ali se zapravo prepisuje tek kada je stvarni slobodni prostor na disku potpuno iscrpljen, takva situacija bi mogla nastati.

Dakle, kako bi se minimizirala vjerovatnoća širenja podataka po zasebnim cilindrima, izmišljene su particije diska (ili bolje rečeno, i za ovo - alokacija particija diska ima mnogo drugih ciljeva). Grupa susednih cilindara je kombinovana u jednu sekciju.

Gdje završava jedan dio, a počinje drugi? Razumni ljudi iz Odese bi rekli da se jedna deonica završava tamo gde počinje druga. Međutim, očito nam je da za svaki od odjeljaka treba pohraniti informacije o njegovom početku i kraju (odnosno brojevima prvog i posljednjeg cilindara koji su uključeni u njega). Gdje ih pohraniti? Da bismo odgovorili na ovo pitanje, treba se obratiti konceptu bloka.

Poput staza, diskovni blokovi (ili fizički - postoje i logički blokovi, ali to se odnosi na sisteme datoteka, o čemu će biti riječi kasnije) kreiraju se s niskim nivoom formatiranja i korisnik (skoro) ne može utjecati na njih. Njihova veličina je također uvijek ista i jednaka 512 bajtova. Tačnije, ovako to vidi BIOS "u personalnom računaru - šta je to, samo Allah zna.

Međutim, činjenica da je razmjena podataka s diskom moguća u dijelovima od najmanje 512 bajta je objektivna realnost, kao i činjenica da će svaka, proizvoljno mala, količina informacija koja je napisana na njemu zauzeti cijeli blok - bez obzira na svoj prirodna veličina. Odnosno, male tekstualne datoteke veličine par znakova (odnosno bajtova) i dalje zahvataju čak 512 bajtova za sebe, ni manje ni više (u stvari, čak i više, ali o tome sljedeći put). S druge strane, čitanje podataka u blokovima od 512 bajtova bit će brže nego ako svaki put kada glava pristupa disku, podaci bi se čitali bajt po bajt. Međutim, ovo se također odnosi na temu sistema datoteka.

U međuvremenu nas zanima jedan blok koji formira prvi sektor na prvom kolosijeku prvog cilindra. Rezervirano je za servisno područje diska, koje se zove glavni boot record(MBR - Master Boot Recodr), koji BIOS čita kada se mašina pokrene. Očigledno, MBR se koristi za predviđenu svrhu samo ako je disk definisan u BIOS Setup-u kao pokretan (ili je jednostavno jedini u sistem Međutim, budući da je korištenje svakog pojedinog diska po vlastitom nahođenju korisnika, za njega se uvijek dodjeljuje prostor.

Unutar nultog bloka, između ostalog (posebno, koda bilo kojeg bootloadera koji se tu može napisati), sigurno postoji jedno rezervirano područje. Namijenjen je BIOS-u "Tabela particija, pod kojom su od pamtivijeka (od prvog IBM PC-a, čini se) dodijeljena 64 bajta. Podaci o particiji (particijama) u određenom, razumljivom BIOS" a, formatu.

A ovaj format predviđa indikaciju za svaki odjeljak njegovog početnog bloka, veličinu u bajtovima, identifikator tipa sistema datoteka (ovo, suprotno nazivu, uopće nije isto što i sistem datoteka, o čemu će biti riječi u sljedeći odjeljak) i (samo za jednu od particija) oznaku aktivnosti (tj. označavanje ovaj odjeljak kao boot). Ovo poslednje je neophodno za neke operativne sisteme kao što je DOS, iako je FreeBSD ili, na primer, Linux, ova zastavica duboko indiferentna.

Ukupna količina informacija potrebnih za opisivanje particije diska je 16 bajtova. A kako se, kao što se sjećamo, za cijelu particijsku tablicu dodjeljuje samo 64 bajta, bez kalkulatora možemo izračunati da ograničiti količinu particije na disku - 4. Ove particije se nazivaju primarnim ili, ne sasvim tačno, fizičkim. Budući da se u većini slučajeva takvi dijelovi mogu podijeliti i na dijelove - logičke dijelove (o čemu će biti riječi u nastavku).

Ponavljam još jednom - ovo se odnosi samo na mašine sa PC BIOS-om, odnosno obične personalne računare. Na bilo kojoj vrsti PowerPC-a, Sparc"ah i sličnih stanica, sve može biti potpuno drugačije (mada ne znam tačno kako, da budem iskren).

Kao što možete vidjeti, opis odjeljka uključuje identifikator sistema datoteka. Ovo je broj (u FreeBSD-u, obično u decimalnom zapisu, u Linuxu, na primjer, u heksadecimalnom), koji se poklapa sa datotečnim sistemom operativnog sistema koji se planira postaviti na disk. Dakle, particija namijenjena FreeBSD-u ima identifikator 165 (decimalni) ili A5, particija za Linux (native za Linux) - 131 (ili 83), FAT16 - 6, proširena particija (tzv. DOS Extended) - 5, i tako dalje.

Dodjeljivanje identifikatora particiji ne znači da se odgovarajući sistem datoteka magično pojavljuje na njoj. Ne, on samo unaprijed određuje koja vrsta sekundarne particione tablice može biti upisana u nju (iako to nije sasvim tačno - a u nekim slučajevima uopće). Ali ovdje govorimo

Zapravo o kriškama

Dakle, zaključak je to našao na jednom fizički disk mogu se kreirati do 4 (uključivo) particije, od kojih svaka može biti dodijeljena zasebnom operativnom sistemu. Šta je sledeće? A onda biste trebali proučiti pitanje stilova označavanja odjeljka.

Stilovi izgleda odjeljka su imenovani Disk Label, koje ne treba brkati sa oznakama diska - proizvoljnim imenima koja se u DOS-u (i ne samo) mogu dodijeliti particiji diska. Stilovi označavanja su format tablice sekundarne particije upisan u prvi blok primarne particije. Ova tablica određuje prirodu dostupnih akcija na ovoj primarnoj particiji.

Korisnici Windowsa (i Linux korisnici u većini slučajeva) obično nemaju razloga za brigu o stilovima označavanja. Međutim, postoji mnogo takvih stilova - da biste to provjerili, samo idite na izbornik konfiguracije Linux kerneli, na pododjeljak Tipovi particija odjeljak Sistemi datoteka. Međutim, od sveg ovog obilja zanimat će nas samo dva stila - DOS i BSD.

DOS/Windows koristi (iznenađujuće) particioniranje u DOS stilu. Zasnovan je na BIOS tabeli, koja se samo djelimično koristi. Naime, od četiri dostupna unosa Tablice particija, samo dva su popunjena (tačnije, samo dvije particije se mogu kreirati pomoću standardnog FDISK-a iz DOS/Windows9X/ME; samo ne znam kako stvari stoje u NT/2000/XP) .

U unosu za prvu particiju možete odrediti identifikator tipa sistema datoteka (na primjer, FAT16 ili FAT32), dok se drugoj particiji automatski dodjeljuje prošireni identifikator DOS tipa. A proširena particija se može dalje podijeliti na logičke particije. Međutim, to nas sada ne zanima, a struktura proširene particije i logičke particije je više puta opisana u njoj.

Linux takođe koristi oznake u DOS stilu. Samo ovdje je tabela BIOS-a u potpunosti iskorištena - koristeći standardne alate ovog operativnog sistema (na primjer, fdisk ili cfdisk) možete kreirati sve četiri primarne particije i koristiti ih do mile volje. međutim, opet, samo jedan od njih se može proglasiti proširenim i, shodno tome, podijeljen na logičke dijelove.

Stil BSD oznake koji koriste FreeBSD, DragonFlyBSD, Net- i OpenBSD, kao i BSD/OS, izgleda potpuno drugačije. Ovdje se također može koristiti BIOS tabela, popunjavanjem koje će stvoriti četiri primarne particije. U terminologiji FreeBSD-a, nazivaju se slices (slices - najprecizniji prijevod bi bio "segmenti") kako bi se razlikovali od particija (particija) BSD oznake. Isječci u nomenklaturi datoteke uređaja označeni su dodavanjem slova s ​​imenu datoteke diska i serijski broj(za razliku od pogona koji počinju na jedan), na primjer: ad0s1 , ad0s2 , ad0s3 , ad0s4 za glavni pogon na prvom IDE kanalu.

Ako jednom ili više odsječaka dobije BSD sistemski ID od 165 decimala (strogo govoreći, zove se 4.2BSD i također je zajednički za DragonFlyBSD i NetBSD - iako u teoriji i ovaj drugi, poput OpenBSD-a, također ima sopstveni broj identifikator particije), tada će sama tabela BSD particija (BSD Label) biti upisana u njen početni blok. U skladu sa svojim formatom, svaki slice sa ID 165 je apsolutno jednak i može se podijeliti na logičke particije (zapravo particije, u FreeBSD terminologiji).

Postoji osam unosa za particije u BSD tabeli. Odjeljci koji im odgovaraju su nomenklaturom označeni dodavanjem slova imenu datoteke isječka - od a do h. Istina, u DragonFlyBSD-u ovo ograničenje je zaobiđeno, i tamo dio može sadržavati do 16 logičkih particija.

U stvarnosti, ne mogu se svi dijelovi isječka koristiti za hostovanje sistema datoteka. Za početak, jedan od unosa (treći po redu, označen slovom c) rezerviran je za opisivanje cijelog odsječka u cjelini - na primjer, ad0s1c, potreba za kojim će kasnije postati jasna. Zatim, prvi unos u tabeli, prema kojem je datoteka uređaja označena kao ad#s#a , ostavlja se po strani da opiše korijensku particiju sistema datoteka. I očito je da na pojedinom lokalna mašina Može postojati samo jedna root particija, bez obzira na broj rezova i fizičkih diskova.

Konačno, drugi unos (datoteka uređaja - ad#s#b) ima za cilj isključivo da opiše swap particiju (swap particiju), koja, prvo, ne može sadržavati podatke, a drugo, jedina je na cijelom disku (jasno, da nema smisla kreirati swap particiju u svakom slice-u, iako ako postoje dva fizička diska, sasvim je zdrava ideja podijeliti swap prostor između njih).

Obično, kreiranje rezova ima za cilj postavljanje više od jednog OS-a na disk i održavanje mogućnosti razmjene podataka između njih (teoretski, BSD particijama se može pristupiti iz Linuxa "i ako je njegovo jezgro ispravno ponovo izgrađeno; iako je obrnuti postupak pristup ext2fs particiji iz FreeBSD-a je mnogo lakši).

Ako se planira da se ceo postojeći disk raskomada od strane FreeBSD-a, tada se obično kreira jedan komad za (skoro) ceo volumen, ostavljajući unose u BIOS tabeli za ostatak neiskorištenim. Sedam pozicija u BSD tabeli je dovoljno da se izoluju grane sistema datoteka kao što su /usr, /tmp, /var i /home - nešto poput ovog načina particionisanja diska podrazumevano nudi sysinstall program.

Naravno, u nekim slučajevima zadani broj particija koje se mogu kreirati u jednom krišku nije dovoljan. posebno, postoji mišljenje, ne bez razloga, da delovi sistema datoteka kao što su /usr/src, /usr/ports, /usr/ports/distfiles takođe podležu razdvajanju u zasebne grane. možda /usr/local . U ovom slučaju, moraćete da kreirate dva BSD preseka (iako postoje dokazi da se proširena particija može koristiti i za frakciono particionisanje sistema datoteka, ali ja to nikada nisam pokušao).

Particionisanje diska koje koristi unose u BIOS tabeli prvog bloka naziva se particionisanje u režimu kompatibilnosti. Bez obzira da li je kreiran jedan slice za FreeBSD ili nekoliko zasebnih rezova za svaki operativni sistem, u režimu kompatibilnosti na početku je rezervisan prostor na disku u količini od 63 bloka (ukupno oko 30 KB), u kojima ne samo " default" MBR je sačuvan netaknut, ali još uvijek ima mjesta za pisanje koda preuzimač treće strane. Kao rezultat toga, disk ostaje dostupan za druge operativne sisteme, prema najmanje u teoriji.

Međutim, upotreba režima kompatibilnosti i BIOS particione tabele je opciona u FreeBSD-u. Savršeno je prihvatljivo pisati u MBR, umjesto u BIOS tablicu, direktno u BSD particijsku tablicu. U ovom slučaju, jasno je da se rezovi kao takvi ne kreiraju, a cijeli prostor diska je, takoreći, jedan slice, i može se podijeliti na BSD particije prema istim pravilima kao i zaseban slice. I ovdje postaje jasna potreba za rezervisanjem trećeg polja BSD tablice - u njemu je opisan cijeli naš disk, koji je u potpunosti rezerviran za FreeBSD.

Takvo rukovanje diskom se naziva način ekskluzivne upotrebe ili Dangerously Dedicated. Za razliku od naziva, ne predstavlja nikakvu opasnost ni za podatke korisnika ni za njegovo zdravlje. A jedina opasnost koja ga čeka je da disk u ekskluzivnom režimu neće prepoznati nijedan drugi operativni sistem instaliran na ovom računaru (neće ometati pristup disku preko mreže). Međutim, ovo je čisto teoretska neugodnost, jer nijedan od meni poznatih operativnih sistema još uvijek ne može ispravno raditi sa BSD particijama i FreeBSD sistemom datoteka (posebno modernim - UFS2). I, recimo, ako postoji GRUB multiloader na drugom fizičkom disku, FreeBSD sa "ekskluzivnog" diska može se učitati njime.

U FreeBSD dokumentaciji postoje indikacije da se "ekskluzivni" diskovi ponekad ne mogu pokrenuti, vjerovatno zato što BIOS ne može prepoznati nestandardne unose u MBR-u. Međutim, očigledno se to odnosi na neke stare Verzije BIOS-a- Nikada se nisam morao baviti ovim, iako sam često pribjegavao ekskluzivnom načinu rada kada je bilo moguće dati cijeli fizički disk FreeBSD-u.

Međutim, FreeBSD projektni dokumenti uvijek naglašavaju da se ekskluzivni način rada, posebno zbog uštede novca na disku, treba koristiti samo u izuzetnim slučajevima. Jedan od razloga za ovu upotrebu je neslaganje između "geometrije" diska, vidljive iz BIOS-a, i FreeBSD-ove ideje o tome (više o ovoj temi možete pronaći u službenim FreeBSD FAQ-ima).

Slice layout

At početna instalacija FreeBSD za kreiranje rezova i particija na njima obično se koristi program sysinstall - univerzalni instalater i alat za prilagođavanje za ovaj operativni sistem. Međutim, treba imati na umu da ovo nije ništa drugo nego front-end nizu specijaliziranih uslužnih programa, uključujući uslužne programe za particioniranje diska. I stoga upoznavanje s njima ni u kom slučaju neće biti štetno. S jedne strane, to će dati razumijevanje šta sysinstall ipak radi. S druge strane, neke radnje za particioniranje diska uz njihovu pomoć pokazuju se lakšim za izvođenje. Dakle, proveo sam dosta vremena u sysinstall stvarajući particije za pripremu softverski RAID nizovi sve dok nisam shvatio da je to raditi ručno mnogo lakše.

Postoji i treća strana - uslužni programi za particioniranje diska, osim što obavljaju svoju direktnu funkciju, služe kao nezamjenjiv izvor informacija o fizičkom disku općenito i šta FreeBSD misli o njemu. A onda - uz njihovu pomoć možete dobiti takve informacije o particijama diska koje se ne mogu naći nigdje drugdje.

Za razliku od Linuxa, particioniranje diska u FreeBSD-u se izvodi u dvije i dvije faze individualni programi. Prvo, disk se reže (ili se kreira jedna kriška, bilo u kompatibilnom načinu ili za ekskluzivnu upotrebu). I tada se dio rezerviran za FreeBSD dijeli na sekcije.

Prvi zadatak obavlja uslužni program fdisk. Ovo je još moćniji alat za upravljanje diskovima od istoimenog programa za Linux, ali nije jednostavan za korištenje. Čak i čovjek (8) fdisk među BUGovima napominje da bi njegovo sučelje moglo biti prijateljskije. Međutim, u stvarnosti, nije nimalo strašno koristiti ga.

Pokreni se bez opcija ili argumenata, komanda fdisk jednostavno prijavljuje informacije o prvom fizičkom disku mašine (ili bolje rečeno, disku koji sadrži FreeBSD root sistem datoteka). I bogate informacije: ovdje ćemo vidjeti naziv datoteke trenutnog disk uređaj(na primjer, /dev/ad0), i informacije o njegovoj geometriji (broj cilindara, glava, sektora po stazi, blokova po cilindru - druga je stvar da oni nemaju veze sa stvarnom geometrijom, ali o tome smo već govorili ), i veličina fizičkog bloka.

Zatim će uslijediti informacije o srezu ili rezovima koji žive na ovom disku. I ovdje ćemo za svaki odsječak vidjeti identifikator tipa sistema datoteka, njegovu veličinu (u blokovima i megabajtima), oznaku aktivnosti (ako postoji), početne i krajnje podatke (broj cilindra/glave/sektora). Ako ima manje od četiri kriške na disku, one nepostojeće (odnosno one koje odgovaraju nepopunjenim unosima particione tabele) će biti označene kao NEKORIŠĆENE. Ista oznaka će biti na rezovima 2-4 kada je disk označen u ekskluzivnom režimu.

Ipak, čak i sa jednom kriškom na disku, označenom u režimu kompatibilnosti, vrlo ga je lako razlikovati od "ekskluzivnog" diska po izlazu naredbe fdisk: početni blok prvog će biti 63, a njegovo otvaranje numera će biti prvi broj. Dok će dio "ekskluzivnog" diska početi od nultog bloka i nulte trake.

Kao što je već spomenuto, sve ove informacije odnose se na disk sa root datotečnim sistemom. Da biste dobili slične informacije o drugim diskovima, ime datoteke odgovarajućeg uređaja mora biti eksplicitno navedeno kao argument naredbi fdisk. Na primjer,

$ fdisk /dev/ar0

će ih obezbijediti za disk povezan na IDE-RAID konektor kontrolera. Ova informacija može izgledati suvišna. Međutim, fdisk može prikazati i sažetije (ali samo bitne) informacije. Šta će učiniti -s opcija? Kao odgovor na komandu

$ fdisk -s /dev/ad#

dobijamo samo ono najvažnije: naziv datoteke uređaja, broj cilindara, glava i sektora, kao i kratke informacije samo o postojećim (to jest, ne označenim kao NEKORIŠĆENI) rezovima - početni sektor, veličina preseka, identifikator tipa sistema datoteka i oznaka aktivnosti. Odnosno, nešto ovako:

/dev/ad0: 155061 cyl 16 hd 63 sec Dio Početak Veličina Tip Zastavice 1: 0 156301488 0xa5 0x80

Sve navedeno ima za cilj samo dobijanje informacija. Da biste koristili fdisk za obavljanje bilo kakvog aktivnog particioniranja diska, morate se upoznati s njegovim drugim opcijama. Nema ih mnogo, a možda je najvažnija opcija -I. Uključeno u tim

$ fdisk -I /dev/ar0

kreirat će prvi i jedini rez na disku, međutim, u načinu kompatibilnosti, odnosno počevši od sektora 63. Očigledno, ako je disk na neki način ranije bio pokvaren i sadržavao bilo kakve podatke, i prethodni raspored diska i njegov sadržaj će biti nepovratno uništeni. Međutim, ovo ponašanje je tipično za sve uslužne programe za particioniranje diska u bilo kojem OS-u. Istina, za razliku od istoimenog uslužnog programa iz Linuxa, Free "shny fdisk odmah ponovo particionira disk. A osim toga, ovdje od nas neće ni biti zatraženo da potvrdimo svoje radnje, tako da trebamo biti oprezni.

Ali mnoga pitanja će uslijediti kada koristite opciju -i, koja vam omogućava da particionirate disk interaktivni način rada. Dato sa imenom datoteke uređaja kao argumentom, tj. u obliku

$ fdisk -i /dev/ar0

pre svega, podsetiće nas koji je disk zapravo zloupotrebljen i izvestiće o njegovim parametrima (i upisani u Disk Label i pročitani iz BIOS-a - u opšti slučaj ne moraju se podudarati.)

******* Rad na uređaju /dev/da0 ******* parametri izvučeni iz in-core disklabel su: cilindri=124 glave=64 sektora/track=32 (2048 blks/cyl) parametri koji se trebaju koji se koriste za BIOS proračune su: cilindri=124 glave=64 sektora/traka=32 (2048 blks/cyl)

I odmah će pitati da li imamo želju da ispravimo BIOS "geometriju diska. Podrazumevani odgovor (ne) je očigledan ako nema poruke o" lošoj "BIOS" geometriji, koja takođe odgovara geometriji opisanoj u Disk Label . Ali ako se dogodi činjenica "loše" geometrije - vrijedi razmotriti.

Najlakši način je ostaviti ga kako jeste - malo je vjerovatno da će iz toga nastati neki problemi. Međutim, reda radi, možete ispraviti situaciju svojim rukama. Zašto biste prvo trebali pozitivno odgovoriti na gornje pitanje, nakon čega će se od vas tražiti da unesete redom sve navedene parametre - broj cilindara, staza i sektora. Valjanost ovih radnji se može dobiti kasnije - provjerom sa onima iz sysinstall.

Prva zabava nakon ispravljanja geometrije (ili umjesto nje) u timu

$ fdisk -i /dev/ar0

Ovo ručno kreiranje kriške (sa već postojećom oznakom, prvo će biti upitano da li želimo ovo - sa negativnim odgovorom prema zadanim postavkama). Da bi se to uradilo, prvo se traži identifikator tipa sistema datoteka (podrazumevano postoji ako je disk particioniran, ili 0 za novi disk) - njegova decimalna vrijednost mora biti specificirana (165 za FreeBSD rez). Zatim - početni sektor (0 - za "ekskluzivni" izgled, 63 - za raspored u režimu kompatibilnosti) i veličina preseka u blokovima (kada se koristi ceo disk, očigledno će biti jednak njihovom punom broju, inače bit će potrebni neki aritmetički proračuni).

Nakon toga, od vas će biti zatraženo da navedete tačan početak i kraj isječka. Ako odbijete - one će biti preuzete iz prethodnih definicija, ako se slažete - morat ćete navesti prvi i posljednji cilindar, glavu, sektor. Koji će biti prikazani u obrascu

Sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) početak 0, veličina 260000 (126 Meg), zastava 0 početak: cyl 0/ glava 0/ sektor 1; kraj: cilindr 126/ glava 60/ sektor 32

Potvrdite svoje postupke pozitivnim odgovorom na pitanje

Jesmo li zadovoljni ovim unosom? [n]y

možete nastaviti sa kreiranjem drugog odjeljka

Podaci za particiju 2 su: Do ti želiš to promijeniti? [n]

Na isti način kao i prvi. Jasno je da ako se kreira samo jedan odsječak, promjene u drugim potencijalnim unosima particione tablice treba napustiti - u ovom slučaju, one će ostati označene kao neiskorištene. U svakom slučaju, postavlja se posljednje pitanje - potvrda izvršenja:

Želite li promijeniti aktivnu particiju? [n]

Uz pozitivan odgovor na koji će sve unesene promjene stupiti na snagu (i na prethodno označenom disku moći će se oprostiti od njegovog sadržaja). Dakle, trebali biste pregledati sve što ste prethodno unijeli (srećom, u FreeBSD-u je to lako učiniti skrolovanjem kroz bafer historije virtuelne konzole) i ako se pronađe greška, odbacite promjene i ponovo pokrenite komandu fdisk. Međutim, možete ga ostaviti u bilo kojem trenutku bez posljedica i na standardan način- kombinacija tastera kontrolu+C.

Općenito, interaktivno kreiranje jednog "ekskluzivnog" odsječka sa fdisk-om (a jedan "kompatibilan" rez je lakše kreirati sa -I opcijom) nije tako loše. Ako vam treba nekoliko rezova, morat ćete se naoružati kalkulatorom (FreeBSD ima ovo - bc , počinje od komandna linija, vrlo jednostavan i lak za korištenje).

Iako postoji još jedan način za kreiranje rezova - preliminarni opis njihovih parametara, a istovremeno i geometrija diska, u datoteci (u običnom tekstualnom fajlu, koristeći bilo koji poznati uređivač). Nakon toga, program fdisk se pokreće u formi

$ fdisk -f configfile /dev/ad#

A dodavanjem opcije -t, možete unaprijed testirati ispravnost svoje oznake bez upisivanja promjena na disk. Međutim, ja to nisam radio, ostavljajući onima koji žele samostalne vježbe: sve potrebne informacije, uključujući format konfiguracijske datoteke, može se naći u man (8) fdisk .

Konačno, za particioniranje diska u ekskluzivnom načinu, možete uopće bez naredbe fdisk: dovoljno je resetirati njegove početne blokove pomoću naredbe dd, koja izvodi tzv. kopija sa konverzijom. Zahtijeva dva argumenta - naziv kopirane (if - ulazna datoteka) datoteke i naziv datoteke uređaja na koji se kopira (od - izlazne datoteke). Također možete postaviti veličinu bloka kopiranih podataka i njihov broj. Dakle, u našem slučaju to će izgledati ovako:

$ dd if=/dev/nula od=/dev/ad# bs=1k count=1

$ dd if=/dev/nula od=/dev/ad# count=2

U oba slučaja, /dev/zero znači tzv. "nulti" uređaj, a /dev/ad# je particionirani disk, dok dodatne opcije pokazuju da prva dva fizička bloka treba popuniti nulama.

Izgled particije

Slice kreiran pomoću fdisk-a, bilo da je "ekskluzivni" ili "kompatibilan", već je upotrebljiv - sistem datoteka se može kreirati direktno na njemu. Međutim, obično je unaprijed podijeljen na logičke dijelove (ili se kreira barem jedan odjeljak, ad#s1c , koji opisuje cijeli isječak). Ranije je uslužni program disklabel služio ovoj svrsi, ali u verziji 5.1 zamijenjen je programom bsdlabel pozajmljenim od NetBSD-a (sa korisničkim sučeljem, kako kažu optimisti). Iako se disklabel može naći u direktoriju /sbin, ovo je samo tvrda veza ka istom izvršnom fajlu kao i bsdlabel. Ovo je lako provjeriti gledanjem ID-ova oba fajla:

$ ls -l /sbin/bsdlabel /sbin/disklabel -r-xr-xr-x 2 korijenski kotač 27348 23. februar 22:42 /sbin/bsdlabel* -r-xr-xr-x 2 korijenski kotač 27348 23. februar 22: 42 /sbin/disklabel*

imaju jednake (27348) vrijednosti.

Opet, pokrenite bez opcija (ali sa obaveznim argumentom imena datoteke slice uređaja), bsdlabel služi jedinoj svrsi da vas informiše o stanju stvari, izlazeći nešto poput sljedećeg za FreeBSD označeni isječak:

$ bsdlabel /dev/ad0 # /dev/ad0: 8 particija: # pomak veličine fstype a: 524288 0 4.2BSD 2048 16384 32776 b: 2074624 524288 swap c: 156301488 zamjena c: 156301488 uredi d: 524288 2598912 4.2BSD 0 0 0 e: 10240000 3123200 4.2BSD 0 0 0 f: 142938288 13363200 4.2BSD 0 0 0

Za gornji zaključak, neki komentari neće biti suvišni. Slova na lijevoj strani su slova postojeće sekcije, za svaki od kojih su dati: veličina (veličina) u blokovima, pomak prvog bloka od početka diska, odnosno nulti sektor (offset), tip sistema datoteka i njegovi parametri: veličina fragmenta, veličina bloka, zapis gustina - o svemu ovome će se raspravljati u odjeljku datoteka FreeBSD sistem; za sada, treba imati na umu da je blok sistema datoteka logički blok, i da uopće nije isto što i blok fizičkog diska. Ne obraćajmo pažnju na činjenicu da u odgovarajućim kolonama za sve particije, osim za a, postoje nule.

Među particijama pažnju privlači ona označena slovom c: ovo je isti "kontejner" za ostale particije (daleka analogija je proširena DOS particija). Jasno je da je pomak za njega nula, a veličina jednaka ukupnom broju blokova fizičkog diska. Za druge sekcije, pomak se lako (na primjer, korištenjem bc kalkulatora) izračunava zbrajanjem pomaka prethodne sekcije sa njegovom veličinom.

Gornji primjer se odnosi na "ekskluzivni" disk - zato promatramo nulti pomak i prve particije i "slice" c . Za disk označen u načinu kompatibilnosti, slika će biti otprilike ovako:

# /dev/ad0s1: 8 particija: # pomak veličine fstype a: 524288 63 4.2BSD 2048 16384 32776 c: 16771797 63 neiskorišten 0 0 # "sirovi" dio, nemoj uređivati ​​d: 524282 43472 43472 524288 1048639 4.2BSD 2048 16384 32776 f: 1048576 1572927 4.2BSD 2048 16384 8g: 14150357 2621503 2621503 2621503 2621503 20 52 52 48

To jest, možete vidjeti da je prva particija "normalno" particioniranog diska pomjerena u odnosu na svoj početak za 63 rezervirana bloka.

Nije slučajno što je polje fstype u sekciji c postavljeno na neiskorišteno – ne može se koristiti za bilo kakvo skladištenje podataka. Međutim, ovo je jedino dostupno na mediju koji je svježe particioniran sa fdisk-om. Kako kreirati ostale potrebne particije?

Začudo, jedan od načina je izuzetno jednostavan: putem običnog uređivača teksta. Da biste to učinili, bsdlabel se pokreće s opcijom -e i argumentom - imenom datoteke slice koja će biti označena:

$ bsdlabel -e /dev/ad0s1

Kao odgovor, pozvaće se uređivač definisan u varijabli EDITOR datoteke profila superkorisnika (nepotrebno je podsećati da se sve operacije sa diskovima, rezovima i particijama izvode samo u ime root "a), u nedostatku istog, /usr/bin/vi će biti takav uređivač, au ovom uređivaču ćemo vidjeti sljedeće:

# /dev/da0: 8 particija: # pomak veličine fstype c: 254787 0 neiskorišten 0 0 # "sirovi" dio, nemoj uređivati

Ako nije planirano postavljanje root sistema datoteka na ovaj isječak, za kreiranje jedne particije biće dovoljno dodati (pomoću najčešćih uređivačkih alata) red kao

D: 2547870 4.2BSD

u slučaju "ekskluzivnog" diska, ili

D: 254787 63 4.2BSD

za disk particioniran u načinu kompatibilnosti.

I - izađite iz editora njegovom redovnom komandom i sačuvajte promjene (u slučaju vi - :wq), u odgovoru na koje ćemo biti obaviješteni da

Fajl /tmp/EdDk.KvEGsqRNsh sačuvan.

Sljedeći put kada pozovete bsdlabel na istom rezu, ali bez opcija, slika će biti sljedeća:

# /dev/da0: 8 particija: # pomak veličine fstype c: 254787 0 neiskorišten 0 0 # "sirovi" dio, ne uređivati ​​d: 254787 0 4.2BSD 0 0 0

To jest, možete vidjeti da je "radna" particija uspješno kreirana.

Da kreiramo nekoliko particija, uključujući root i za swap "i opet, potrebna nam je neka aritmetika, slična fdisk programu koji se koristi u interaktivnom režimu. To jest, svaka particija, počevši sa , mora primiti vrijednost početnog pomaka ( prvo - odgovara početnom bloku cijelog slice-a, ostalo - zbir pomaka i veličine prethodnog), veličina (opet u blokovima), tip sistema datoteka (za "radne" particije - 4.2BSD, za swap particiju - swap).Polja parametara sistema datoteka mogu se izostaviti - u ovom slučaju parametri sistema datoteka će biti određeni kada se on kreira (tj. prilikom "formatiranja", u DOS terminima, particije).

U ovom trenutku, pitanje rezova i particija se može smatrati zatvorenim u prvoj aproksimaciji. Naravno, stvorene particije još uvijek nisu upotrebljive - prvo morate kreirati sistem datoteka na njima. Ili, kako kažu "prozorske daske", formatirajte ih. Šta ćemo uraditi u bliskoj budućnosti. Ali u sledećem delu...

Alexey Fedorchuk
2004

Ovaj članak će se fokusirati na particioniranje tvrdih diskova, odnosno tvrdih diskova, ručno, bez pomoći sysinstall programa. Potreba za tim se ne javlja tako često, ali se javlja. A za opće obrazovanje, korisno je napraviti takvu operaciju barem jednom u životu.

Kao što znate, diskovi se obično dijele na sekcije (particije u smislu DOS/Windows i Linux). Ali FreeBSD i ovdje ima originalan pristup. Da bi se to razumelo, prvo se mora reći

Malo o "geometriji"

Riječ "geometrija" u naslovu rubrike nije slučajno pod navodnicima. Činjenica je da, pošto je volumen diskova premašio 500 sa malim megabajtom (ograničenje starog BIOS-a personalnih računara, koji su se ranije zvali IBM-kompatibilni računari), korisnik nikada nije naišao na njihovu pravu geometriju. Softver ugrađen u elektroniku diska (tzv. firmware) pretvara ga u oblik koji je dostupan percepciji BIOS-a - neću se zadržavati na detaljima kako se to radi zbog nekompetentnosti (a malo je vjerovatno da itko osim proizvođača diskova zna ove detalji dobro).

Geometrija diska dostupna BIOS-u je opisana u terminima cilindar/glava/sektor (cilindri/glave/sektori, C/H/S). Slikovito rečeno (a, ponavljam, sve što je vezano za geometriju diska sada treba shvatiti isključivo figurativno, alegorijski ili metaforički), glave čitaju informacije sa koncentričnih magnetnih staza (traka) na koje je podijeljena svaka ploča diska. Vertikalni skup traka sa istim brojevima na svim pločama koje čine disk kao fizički uređaj formira cilindar. A sektori su rezali ploču, zajedno sa njenim tragovima, u radijalne fragmente zvane blokovi. Odnosno, može se zamisliti na način da blok leži na raskrsnici (u prostoru) cilindra, kolosijeka i sektora.

Broj staza i sektora u modernim diskovima je obično fiksan (tačnije, pojavljuje se kao takav u BIOS-u): 255 staza je izrezano na 63 sektora svaki, što zajedno daje 16065 blokova po cilindru. A broj cilindara je određen volumenom diska (neću ulaziti u aritmetičke proračune). Jedina bitna stvar ovdje je da se glave diskova mehanički sinhrono kreću po površini svih ploča. Odnosno, ako se na jednoj pločici čitaju informacije s 1. staze, onda se sve ostale glave kreću na istu stazu - svaka na svojoj ploči.

Ponavljam, sve je ovo proizvoljno - makar samo zato što je koncept cilindra u geometrijskom smislu te riječi vrlo teško primijeniti na moderne diskove, često ne samo s jednim pločama, već čak i, da tako kažemo, polupločastim ( odnosno sa uključenom samo jednom stranom jedne ploče). Ali bavljenje ovom geometrijom zavisi od firmvera i BIOS-a, ali za nas su interesantni cilindri - skup traka kojima se pristupa sinhrono, i blokovi - minimalni kvanti prostora na disku.

Tragovi koji formiraju cilindre nastaju prilikom početnog fabričkog obeležavanja diska - tzv. formatiranje na niskom nivou. Iz prethodno rečenog, očigledno je da će pristup podacima unutar jednog cilindra ili grupe susjednih biti brži nego podacima koji su djelimično upisani na prvom i, recimo, posljednjem cilindru diska. Ovaj slučaj nije tako nevjerovatan kao što se čini: u DOS-u, gdje je prostor koji su zauzeli izbrisani fajlovi označen kao neiskorišten, ali se zapravo prepisuje samo kada je slobodan prostor na disku zaista iscrpljen, takva situacija bi mogla nastati.

Dakle, kako bi se minimizirala vjerovatnoća širenja podataka po zasebnim cilindrima, izmišljene su particije diska (ili bolje rečeno, i za ovo - alokacija particija diska ima mnogo drugih ciljeva). Grupa susednih cilindara je kombinovana u jednu sekciju.

Gdje završava jedan dio, a počinje drugi? Razumni ljudi iz Odese bi rekli da se jedna deonica završava tamo gde počinje druga. Međutim, očito nam je da za svaki od odjeljaka treba pohraniti informacije o njegovom početku i kraju (odnosno brojevima prvog i posljednjeg cilindara koji su uključeni u njega). Gdje ih pohraniti? Da bismo odgovorili na ovo pitanje, treba se obratiti konceptu bloka.

Poput staza, diskovni blokovi (ili fizički - postoje i logički blokovi, ali to se odnosi na sisteme datoteka, o čemu će biti riječi kasnije) kreiraju se niskorazinskim formatiranjem i korisnik (gotovo) ne može utjecati na njih. Njihova veličina je također uvijek ista i jednaka 512 bajtova. Tačnije, ovako to vidi BIOS personalnog računara - šta je to, samo Allah zna.

Međutim, činjenica da se podaci mogu razmjenjivati ​​s diskom u dijelovima od najmanje 512 bajta je objektivna realnost, kao i činjenica da će svaka, proizvoljno mala, količina informacija napisana na njemu zauzeti cijeli blok, bez obzira na svoj prirodna veličina. Odnosno, male tekstualne datoteke veličine par znakova (odnosno bajtova) i dalje zahvataju čak 512 bajtova za sebe, ni manje ni više (u stvari, čak i više, ali o tome sljedeći put). S druge strane, čitanje podataka u blokovima od 512 bajtova bit će brže nego ako svaki put kada glava pristupa disku, podaci bi se čitali bajt po bajt. Međutim, ovo se također odnosi na temu sistema datoteka.

U međuvremenu nas zanima jedan blok koji formira prvi sektor na prvom kolosijeku prvog cilindra. Rezervisan je za servisno područje diska, koje se zove glavni zapis za pokretanje (MBR - Master Boot Recodr), koji BIOS čita kada se mašina pokrene. Očigledno, MBR se koristi za njegovu namenu samo ako je disk definisan u BIOS Setup-u kao pokretački (ili je jednostavno jedini u sistemu). Međutim, s obzirom da je korištenje svakog pojedinog diska po diskreciji korisnika, prostor se uvijek dodjeljuje za njega.

Unutar nultog bloka, između ostalog (posebno, koda bilo kojeg bootloadera koji se tu može napisati), sigurno postoji jedno rezervirano područje. Namijenjen je BIOS-ovoj particijskoj tablici (Partition Table), pod kojom su od pamtivijeka (od prvog IBM PC-a, čini se) dodijeljena 64 bajta. Ova tabela beleži (ili može biti upisana) podatke o particiji (particijama) u određenom BIOS-u razumljivom formatu.

A ovaj format predviđa indikaciju za svaki odjeljak njegovog početnog bloka, veličinu u bajtovima, identifikator tipa sistema datoteka (ovo, suprotno nazivu, uopće nije isto što i sistem datoteka, o čemu će biti riječi u sljedećem odjeljku ) i (samo za jednu od particija) aktivnu zastavicu (tj. označavanje ove particije kao pokretačke). Ovo poslednje je neophodno za neke operativne sisteme kao što je DOS, iako je FreeBSD ili, na primer, Linux, ova zastavica duboko indiferentna.

Ukupna količina informacija potrebnih za opisivanje particije diska je 16 bajtova. A pošto se, kao što se sjećamo, za cijelu particijsku tablicu dodjeljuje samo 64 bajta, bez kalkulatora možete izračunati da je maksimalan broj particija na disku 4. Ove particije se nazivaju primarnim ili, ne sasvim točno, fizičkim. Budući da se u većini slučajeva takvi dijelovi mogu podijeliti i na dijelove - logičke dijelove (o čemu će biti riječi u nastavku).

Ponavljam još jednom - ovo se odnosi samo na mašine sa PC BIOS-om, odnosno obične personalne računare. Na bilo kojoj vrsti PowerPC-a, Sparcovih i sličnih stanica sve može biti potpuno drugačije (mada ne znam tačno kako, da budem iskren).

Kao što možete vidjeti, opis odjeljka uključuje identifikator sistema datoteka. Ovo je neki broj (u FreeBSD-u obično u decimalnom zapisu, u Linuxu, na primjer, u heksadecimalnom), koji je postavljen u skladu sa datotečnim sistemom operativnog sistema koji se planira postaviti na disk. Na primjer, FreeBSD particija ima ID 165 (decimalni) ili A5, Linux (native za Linux) particija ima ID 131 (ili 83), FAT16 ima ID 6, proširena particija (tzv. DOS Extended) ima ID 5, i tako dalje, dalje.

Dodjeljivanje identifikatora particiji ne znači da se odgovarajući sistem datoteka magično pojavljuje na njoj. Ne, on jednostavno unaprijed određuje koja vrsta sekundarne particione tablice može biti upisana u nju (iako to nije sasvim točno - a u nekim slučajevima uopće). Ali ovdje govorimo

Zapravo o kriškama

Dakle, kao rezultat, ustanovljeno je da se na jednom fizičkom disku može kreirati do 4 (uključivo) particije, od kojih svaka može biti dodijeljena zasebnom operativnom sistemu. Šta je sledeće? A onda biste trebali proučiti pitanje stilova označavanja odjeljka.

Stilovi izgleda odjeljka su imenovani Disk Label, koje ne treba brkati sa oznakama diska - proizvoljnim imenima koja se u DOS-u (i ne samo) mogu dodijeliti particiji diska. Stilovi označavanja su format tablice sekundarne particije upisan u prvi blok primarne particije. Ova tablica određuje prirodu dostupnih akcija na ovoj primarnoj particiji.

Korisnici Windowsa (i Linux korisnici u većini slučajeva) obično nemaju razloga za brigu o stilovima označavanja. Međutim, postoji mnogo takvih stilova - da biste to provjerili, samo idite na meni konfiguracije jezgre Linuxa, u pododjeljku Tipovi particija odjeljak Sistemi datoteka. Međutim, od sveg ovog obilja zanimat će nas samo dva stila - DOS i BSD.

DOS/Windows koristi (iznenađujuće) particioniranje u DOS stilu. Zasnovan je na BIOS tabeli, koja se samo djelimično koristi. Naime, popunjena su samo dva od četiri dostupna unosa u Tabeli particija (tačnije, samo dvije particije se mogu kreirati pomoću standardnog FDISK-a iz DOS/Windows9X/ME; samo ne znam kako stvari stoje u NT/2000/XP).

U unosu za prvu particiju možete odrediti identifikator tipa sistema datoteka (na primjer, FAT16 ili FAT32), dok se drugoj particiji automatski dodjeljuje prošireni identifikator DOS tipa. A proširena particija se može dalje podijeliti na logičke particije. Međutim, to nas sada ne zanima, a struktura proširene particije i logičke particije je više puta opisana u njoj.

Linux takođe koristi oznake u DOS stilu. Samo ovdje se BIOS tabela koristi u potpunosti - koristeći standardne alate ovog operativnog sistema (na primjer, fdisk ili cfdisk) možete kreirati sve četiri primarne particije i koristiti ih za svoje zadovoljstvo. međutim, opet, samo jedan od njih se može proglasiti proširenim i, shodno tome, podijeljen na logičke dijelove.

Stil BSD oznake koji koriste FreeBSD, DragonFlyBSD, Net- i OpenBSD, kao i BSD/OS, izgleda potpuno drugačije. Ovdje se također može koristiti BIOS tabela, popunjavanjem koje će stvoriti četiri primarne particije. U FreeBSD terminologiji, oni se nazivaju slices (slices - najprecizniji prijevod bi bio "segmenti") kako bi se razlikovali od sekcija (particija) BSD oznake. Isječci u nomenklaturi datoteke uređaja označeni su dodavanjem slova s ​​imenu datoteke diska i serijskog broja (za razliku od diskova, počevši od jedan), na primjer: ad0s1 , ad0s2 , ad0s3 , ad0s4 za glavni disk na prvom IDE kanal.

Ako jednom ili više isječaka dobije BSD sistemski ID od 165 decimala (strogo govoreći, zove se 4.2BSD i također je zajednički za DragonFlyBSD i NetBSD - iako u teoriji ovaj drugi, poput OpenBSD-a, ima svoj ID broj), tada će njegov početni blok biti upisan u stvarnu BSD particijsku tabelu (BSD Label). U skladu sa svojim formatom, svaki slice sa ID 165 je apsolutno jednak i može se podijeliti na logičke particije (zapravo particije, u FreeBSD terminologiji).

Postoji osam unosa za particije u BSD tabeli. Odjeljci koji im odgovaraju su nomenklaturno označeni dodavanjem isječka karaktera imenu datoteke - od a do h. Istina, u DragonFlyBSD-u ovo ograničenje je zaobiđeno, i tamo dio može sadržavati do 16 logičkih particija.

U stvarnosti, ne mogu se svi dijelovi isječka koristiti za hostovanje sistema datoteka. Za početak, jedan od unosa (treći po redu, označen slovom c) rezerviran je za opisivanje cijelog odsječka u cjelini - na primjer, ad0s1c, potreba za kojim će kasnije postati jasna. Zatim, prvi unos u tabeli, prema kojem je datoteka uređaja označena kao ad#s#a , ostavlja se po strani da opiše korijensku particiju sistema datoteka. I očito je da na određenom lokalnom stroju može postojati samo jedna root particija, bez obzira na broj rezova i fizičkih diskova.

Konačno, drugi unos (datoteka uređaja - ad#s#b) ima za cilj isključivo da opiše swap particiju (swap particiju), koja, prvo, ne može sadržavati podatke, a drugo, jedina je na cijelom disku (jasno, da nema smisla kreirati swap particiju u svakom slice-u, iako ako postoje dva fizička diska, sasvim je zdrava ideja podijeliti swap prostor između njih).

Tipično, sečenje je namijenjeno da stane više od jednog operativnog sistema na disk i da zadrži mogućnost razmjene podataka između njih (teoretski, BSD particijama se može pristupiti iz Linuxa ako je njegovo jezgro pravilno izgrađeno; iako je obrnuti postupak pristupanje ext2fs particiji iz FreeBSD-a, mnogo je lakše).

Ako se planira da se ceo postojeći disk raskomada od strane FreeBSD-a, tada se obično kreira jedan komad za (skoro) ceo volumen, ostavljajući unose u BIOS tabeli za ostatak neiskorištenim. Sedam pozicija u BSD tabeli je dovoljno da se izoluju grane sistema datoteka kao što su /usr, /tmp, /var i /home - otprilike ovakav način particionisanja diska nudi program sysinstall.

Naravno, u nekim slučajevima zadani broj particija koje se mogu kreirati u jednom krišku nije dovoljan. posebno, postoji mišljenje, ne bez razloga, da delovi sistema datoteka kao što su /usr/src, /usr/ports, /usr/ports/distfiles takođe podležu razdvajanju u zasebne grane. možda /usr/local . U ovom slučaju, moraćete da kreirate dva BSD preseka (iako postoje dokazi da se proširena particija može koristiti i za frakciono particionisanje sistema datoteka, ali ja to nikada nisam pokušao).

Particionisanje diska koje koristi unose u BIOS tabeli prvog bloka naziva se particionisanje u režimu kompatibilnosti. Bez obzira da li je kreiran jedan slice za FreeBSD ili nekoliko zasebnih za svaki operativni sistem, u režimu kompatibilnosti na početku je rezervisan prostor na disku u količini od 63 bloka (ukupno oko 30 KB), u kojima ne samo „ default” MBR je sačuvan netaknut, ali još uvijek ima mjesta za pisanje koda nekog trećeg učitavača. Kao rezultat toga, disk ostaje dostupan drugim operativnim sistemima, barem u teoriji.

Međutim, upotreba režima kompatibilnosti i BIOS particione tabele je opciona u FreeBSD-u. Savršeno je prihvatljivo pisati u MBR, umjesto u BIOS tablicu, direktno u BSD particijsku tablicu. U ovom slučaju, jasno je da se rezovi kao takvi ne kreiraju, a cijeli prostor diska je, takoreći, jedan slice, i može se podijeliti na BSD particije prema istim pravilima kao i zaseban slice. I ovdje postaje jasna potreba za rezervisanjem trećeg polja BSD tablice - u njemu je opisan cijeli naš disk, koji je u potpunosti rezerviran za FreeBSD.

Takvo rukovanje diskom se naziva način ekskluzivne upotrebe ili Dangerously Dedicated. Za razliku od naziva, ne predstavlja nikakvu opasnost ni za podatke korisnika ni za njegovo zdravlje. A jedina opasnost koja ga čeka je da disk u ekskluzivnom režimu neće prepoznati nijedan drugi operativni sistem instaliran na ovom računaru (neće ometati pristup disku preko mreže). Međutim, ovo je čisto teoretska neugodnost, jer nijedan od operativnih sistema koje poznajem još uvijek ne može raditi sa BSD particijama i FreeBSD sistemom datoteka (posebno sa modernim - UFS2). I, recimo, ako postoji GRUB multibooter na drugom fizičkom disku, FreeBSD sa “ekskluzivnog” diska može biti učitan od strane njega.

U FreeBSD dokumentaciji postoje indikacije da se "ekskluzivni" diskovi ponekad ne mogu pokrenuti, vjerovatno zato što BIOS ne može prepoznati nestandardne unose u MBR-u. Međutim, ovo se očigledno odnosi na neke stare verzije BIOS-a - nisam morao da se bavim ovim, iako sam često pribegavao ekskluzivnom režimu kada je bilo moguće dati ceo fizički disk FreeBSD-u.

Međutim, dokumenti projekta FreeBSD uvijek naglašavaju da se ekskluzivni način rada – posebno zbog uštede penija na disku – treba koristiti samo u izuzetnim okolnostima. Jedan od razloga za ovu upotrebu je neslaganje između "geometrije" diska, vidljive iz BIOS-a, i FreeBSD-ove ideje o tome.

Slice layout

Tokom inicijalne instalacije FreeBSD-a, za kreiranje rezova i particija na njima, obično se koristi sysinstall program - univerzalni instalater i prilagođavač za ovaj operativni sistem. Međutim, treba imati na umu da ovo nije ništa drugo nego front-end nizu specijaliziranih uslužnih programa, uključujući uslužne programe za particioniranje diska. I stoga upoznavanje s njima ni u kom slučaju neće biti štetno. S jedne strane, to će dati razumijevanje šta sysinstall ipak radi. S druge strane, neke radnje za particioniranje diska uz njihovu pomoć lakše se izvode. Dakle, proveo sam dosta vremena u sysinstall kreirajući particije za pripremu softverskih RAID nizova, dok nisam shvatio da je to raditi ručno mnogo lakše.

Postoji i treća strana - uslužni programi za particioniranje diska, osim što obavljaju svoju direktnu funkciju, služe kao nezamjenjiv izvor informacija o fizičkom disku općenito i šta FreeBSD misli o njemu. A onda - uz njihovu pomoć možete dobiti takve informacije o particijama diska koje se ne mogu naći nigdje drugdje.

Za razliku od Linuxa, particioniranje diska u FreeBSD-u se vrši u dva koraka i pomoću dva odvojena programa. Prvo, disk se reže (ili se kreira jedna kriška, bilo u kompatibilnom načinu ili za ekskluzivnu upotrebu). I tada se dio rezerviran za FreeBSD dijeli na sekcije.

Prvi zadatak obavlja uslužni program fdisk. Ovo je još moćniji alat za upravljanje diskom od istoimenog programa za Linux. Međutim, ne može se nazvati jednostavnim za korištenje. Čak i kod man (8) fdisk među BUGovima, primećeno je da bi njegov interfejs mogao biti prijateljskiji. Međutim, u stvarnosti, nije nimalo strašno koristiti ga.

Pokreni se bez opcija ili argumenata, komanda fdisk jednostavno prijavljuje informacije o prvom fizičkom disku mašine (ili bolje rečeno, disku koji sadrži FreeBSD root sistem datoteka). I bogate informacije: ovdje ćemo vidjeti i naziv datoteke trenutnog disk uređaja (na primjer, / dev / ad0), i informacije o njegovoj geometriji (broj cilindara, glava, sektora po stazi, blokova po cilindru - još jedna stvar je da oni koji se odnose na realnu geometriju nemaju, ali o tome smo već govorili), a veličina fizičkog bloka.

Zatim će uslijediti informacije o srezu ili rezovima koji žive na ovom disku. I ovdje ćemo za svaki odsječak vidjeti identifikator tipa sistema datoteka, njegovu veličinu (u blokovima i megabajtima), oznaku aktivnosti (ako postoji), početne i krajnje podatke (broj cilindra/glave/sektora). Ako ima manje od četiri kriške na disku, one nepostojeće (odnosno one koje odgovaraju nepopunjenim unosima particione tabele) će biti označene kao NEKORIŠĆENE. Ista oznaka će biti na rezovima 2-4 kada je disk označen u ekskluzivnom režimu.

Ipak, čak i sa jednim isječkom na disku označenom u načinu kompatibilnosti, vrlo ga je lako razlikovati od "ekskluzivnog" diska po izlazu naredbe fdisk: početni blok prvog bit će 63, a njegova početna staza će biti prvi broj. Dok će dio "ekskluzivnog" diska početi od nultog bloka i nulte trake.

Kao što je već spomenuto, sve ove informacije odnose se na disk sa root datotečnim sistemom. Da biste dobili slične informacije o drugim diskovima, ime datoteke odgovarajućeg uređaja mora biti eksplicitno navedeno kao argument naredbi fdisk. Na primjer,

$ fdisk /dev/ar0

će ih obezbijediti za disk povezan na IDE-RAID konektor kontrolera. Ova informacija može izgledati suvišna. Međutim, fdisk može prikazati i sažetije (ali samo bitne) informacije. Šta će učiniti -s opcija? Kao odgovor na komandu

$ fdisk -s /dev/ad#

dobijamo samo ono najvažnije: naziv fajla uređaja, broj cilindara, glava i sektora, kao i kratke informacije o samo postojećim (tj. ne označenim kao NEKORIŠĆENI) rezovima - početni sektor, veličina preseka, tip sistema datoteka identifikator i oznaka aktivnosti. Odnosno, nešto ovako:

/dev/ad0: 155061 cyl 16 hd 63 sec Dio Početak Veličina Tip Zastavice 1: 0 156301488 0xa5 0x80

Sve navedeno ima za cilj samo dobijanje informacija. Da biste koristili fdisk za obavljanje bilo kakvog aktivnog particioniranja diska, morate se upoznati s njegovim drugim opcijama. Nema ih mnogo, a možda je najvažnija opcija -I. Uključeno u tim

$ fdisk -I /dev/ar0

kreirat će prvi i jedini rez na disku, međutim, u načinu kompatibilnosti, odnosno počevši od sektora 63. Očigledno, ako je disk na neki način ranije bio pokvaren i sadržavao bilo kakve podatke, i prethodni raspored diska i njegov sadržaj će biti nepovratno uništeni. Međutim, ovo ponašanje je tipično za sve uslužne programe za particioniranje diska u bilo kojem OS-u. Istina, za razliku od istoimenog uslužnog programa za Linux, Free-ov fdisk odmah ponovo particionira disk. Osim toga, ovdje se od nas neće ni tražiti da potvrdimo svoje postupke, tako da treba biti oprezan.

Ali mnoga pitanja će uslijediti kada koristite opciju -i, koja vam omogućava da izvedete interaktivno particioniranje diska. Dato sa imenom datoteke uređaja kao argumentom, tj. u obliku

$ fdisk -i /dev/ar0

prije svega, podsjetit će nas koji se, zapravo, disk zloupotrebljava i prijavit će njegove parametre (i upisane u Disk Label i pročitane iz BIOS-a - u općenitom slučaju, ne moraju se podudarati):

******* Rad na uređaju /dev/da0 ******* parametri izvučeni iz in-core disklabel su: cilindri=124 glave=64 sektora/track=32 (2048 blks/cyl) parametri koji se trebaju koji se koriste za BIOS proračune su: cilindri=124 glave=64 sektora/traka=32 (2048 blks/cyl)

I odmah će pitati da li želimo da prilagodimo geometriju diska BIOS-a. Podrazumevani odgovor (ne) je očigledan ako ne postoji "loša" geometrija BIOS-a koja se takođe poklapa sa geometrijom opisanom u Disk Label. Ali ako se dogodi činjenica "loše" geometrije, vrijedi razmotriti.

Najlakši način je ostaviti ga kako jeste - malo je vjerovatno da će se zbog toga pojaviti problemi. Međutim, reda radi, možete ispraviti situaciju svojim rukama. Zašto biste prvo trebali pozitivno odgovoriti na gornje pitanje, nakon čega će se od vas tražiti da unesete redom sve navedene parametre - broj cilindara, staza i sektora. Valjanost ovih radnji se može dobiti kasnije - provjerom sa onima iz sysinstall.

Prva zabava nakon ispravljanja geometrije (ili umjesto nje) u timu

$ fdisk -i /dev/ar0

- ovo je ručno kreiranje rezova (sa već postojećom oznakom, prvo će biti upitano da li to želimo - sa negativnim odgovorom po defaultu). Da biste to uradili, prvo se traži identifikator tipa sistema datoteka (podrazumevano je postojeći ako je disk particionisan, ili 0 za novi disk) - morate navesti njegovu decimalnu vrednost (165 za FreeBSD rez). Zatim - početni sektor (0 - sa "ekskluzivnim" rasporedom, 63 - sa rasporedom u režimu kompatibilnosti), i veličina preseka u blokovima (kada se koristi ceo disk, očigledno će biti jednak njihovom punom broju, inače bit će potrebni neki aritmetički proračuni).

Nakon toga, od vas će biti zatraženo da navedete tačan početak i kraj isječka. Ako odbijete, bit će preuzete iz prethodnih definicija, ako se slažete, morat ćete navesti prvi i posljednji cilindar, glavu, sektor. Koji će biti prikazani u obrascu

Sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) početak 0, veličina 260000 (126 Meg), zastava 0 početak: cyl 0/ glava 0/ sektor 1; kraj: cilindr 126/ glava 60/ sektor 32

Potvrdite svoje postupke pozitivnim odgovorom na pitanje

Jesmo li zadovoljni ovim unosom? [n]y

možete nastaviti sa kreiranjem drugog odjeljka

Podaci za particiju 2 su: Želite li je promijeniti? [n]

- na isti način kao i prvi. Jasno je da ako se kreira samo jedan odsječak, promjene u drugim potencijalnim unosima particione tablice treba napustiti - u ovom slučaju, one će ostati označene kao neiskorištene. U svakom slučaju, postavlja se posljednje pitanje - potvrda izvršenja:

Želite li promijeniti aktivnu particiju? [n]

Uz pozitivan odgovor na koji će sve unesene promjene stupiti na snagu (i na prethodno označenom disku moći će se oprostiti od njegovog sadržaja). Dakle, trebali biste pregledati sve što ste prethodno unijeli (srećom, u FreeBSD-u je to lako učiniti skrolovanjem kroz bafer historije virtuelne konzole) i ako se pronađe greška, odbacite promjene i ponovo pokrenite komandu fdisk. Međutim, iz njega možete izaći u bilo kojem trenutku bez posljedica i na standardni način - pritiskom na kombinaciju tipki kontrolu+C.

Općenito, interaktivno kreiranje jednog "ekskluzivnog" odsječka sa fdisk-om (a jedan "kompatibilan" rez je lakše kreirati sa -I opcijom) nije tako loše. Ako vam treba nekoliko rezova, morat ćete se naoružati kalkulatorom (FreeBSD ima jedan - bc , pokrenut iz komandne linije, vrlo jednostavan i lak za korištenje).

Iako postoji još jedan način za kreiranje rezova - preliminarni opis njihovih parametara, a istovremeno i geometrija diska, u datoteci (u običnom tekstualnom fajlu, koristeći bilo koji poznati uređivač). Nakon toga, program fdisk se pokreće u formi

$ fdisk -f configfile /dev/ad#

A dodavanjem opcije -t, možete unaprijed testirati ispravnost svoje oznake bez upisivanja promjena na disk. Međutim, nisam to učinio sam, ostavljajući one koji žele samostalne vježbe: sve potrebne informacije, uključujući format konfiguracijske datoteke, mogu se naći u man (8) fdisk .

Konačno, za particioniranje diska u ekskluzivnom načinu, možete uopće bez naredbe fdisk: dovoljno je resetirati njegove početne blokove pomoću naredbe dd, koja izvodi tzv. kopija sa konverzijom. Zahtijeva dva argumenta - naziv kopirane (if - ulazna datoteka) datoteke i naziv datoteke uređaja na koji se kopira (od - izlazne datoteke). Također možete postaviti veličinu bloka kopiranih podataka i njihov broj. Dakle, u našem slučaju to će izgledati ovako:

$ dd if=/dev/nula od=/dev/ad# bs=1k count=1

$ dd if=/dev/nula od=/dev/ad# count=2

U oba slučaja, /dev/zero znači tzv. "nula" uređaj, a /dev/ad# je particionirani disk, dok dodatne opcije ukazuju da prva dva fizička bloka treba popuniti nulama.

Izgled particije

Slice kreiran pomoću fdisk-a, bilo da je "ekskluzivni" ili "kompatibilan", već je upotrebljiv - sistem datoteka se može kreirati direktno na njemu. Međutim, obično je unaprijed podijeljen na logičke dijelove (ili se kreira barem jedan odjeljak, ad#s1c , koji opisuje cijeli isječak). Ranije je uslužni program disklabel služio ovoj svrsi, ali u verziji 5.1 zamijenjen je programom bsdlabel pozajmljenim od NetBSD-a (sa korisničkim sučeljem, kako kažu optimisti). Iako se disklabel može naći u direktoriju /sbin, ovo je samo tvrda veza ka istom izvršnom fajlu kao i bsdlabel. Ovo je lako provjeriti gledanjem ID-ova oba fajla:

$ ls -l /sbin/bsdlabel /sbin/disklabel -r-xr-xr-x 2 korijenski kotač 27348 23. februar 22:42 /sbin/bsdlabel* -r-xr-xr-x 2 korijenski kotač 27348 23. februar 22: 42 /sbin/disklabel*

imaju jednake (27348) vrijednosti.

Opet, pokrenite bez opcija (ali sa obaveznim argumentom imena datoteke uređaja, slice), bsdlabel služi jedinoj svrsi da vas informiše o stanju stvari, izlazeći nešto poput sljedećeg za FreeBSD označeni isječak:

$ bsdlabel /dev/ad0 # /dev/ad0: 8 particija: # pomak veličine fstype a: 524288 0 4.2BSD 2048 16384 32776 b: 2074624 524288 swap c: 156301488 zamjena c: 156301488 uredi d: 524288 2598912 4.2BSD 0 0 0 e: 10240000 3123200 4.2BSD 0 0 0 f: 142938288 13363200 4.2BSD 0 0 0

Za gornji zaključak, neki komentari neće biti suvišni. Slova lijevo su slova postojećih particija, za svaku od kojih su date: veličina (veličina) u blokovima, pomak prvog bloka od početka diska, odnosno nulti sektor (offset), datoteka tip sistema i njegovi parametri: veličina fragmenta, veličina bloka, gustoća zapisa - sve će to biti razmotreno u odjeljku o sistemu datoteka FreeBSD; za sada, treba napomenuti da je blok sistema datoteka logički blok, a to uopće nije isto što i blok fizičkog diska. Ne obraćajmo pažnju na činjenicu da u odgovarajućim kolonama za sve particije, osim za a, postoje nule.

Među particijama, pažnju privlači ona označena slovom c: ovo je isti „kontejner“ za preostale particije (udaljena analogija je proširena DOS particija). Jasno je da je pomak za njega nula, a veličina jednaka ukupnom broju blokova fizičkog diska. Za druge sekcije, pomak se lako (na primjer, korištenjem bc kalkulatora) izračunava zbrajanjem pomaka prethodne sekcije sa njegovom veličinom.

Gornji primjer se odnosi na "ekskluzivni" disk - zato promatramo nulti pomak i prve particije i "slice" c . Za disk označen u načinu kompatibilnosti, slika će biti otprilike ovako:

# /dev/ad0s1: 8 particija: # pomak veličine fstype a: 524288 63 4.2BSD 2048 16384 32776 c: 16771797 63 neiskorišten 0 0 # "sirovi" dio, nemoj uređivati ​​d: 524282 43472 43472 524288 1048639 4.2BSD 2048 16384 32776 f: 1048576 1572927 4.2BSD 2048 16384 8g: 14150357 2621503 2621503 2621503 2621503 20 52 52 48

To jest, možete vidjeti da je prva particija "normalno" particioniranog diska pomjerena u odnosu na svoj početak za 63 rezervirana bloka.

Nije slučajno što je polje fstype u sekciji c postavljeno na neiskorišteno – ne može se koristiti za bilo kakvo skladištenje podataka. Međutim, ovo je jedino dostupno na mediju koji je svježe particioniran sa fdisk-om. Kako kreirati ostale potrebne particije?

Začudo, jedan od načina je izuzetno jednostavan: putem običnog uređivača teksta. Da biste to učinili, bsdlabel se pokreće s opcijom -e, a argument je ime datoteke isječka koji će biti označen:

$ bsdlabel -e /dev/ad0s1

Kao odgovor na to će biti pozvan uređivač definiran u varijabli EDITOR datoteke profila superkorisnika (nepotrebno je podsjetiti da se sve operacije s diskovima, srezovima i particijama izvode samo u ime roota), u nedostatku istog, /usr/bin/vi će biti takav urednik. I u ovom uređivaču ćemo vidjeti sljedeće:

# /dev/da0: 8 particija: # pomak veličine fstype c: 254787 0 neiskorišten 0 0 # "sirovi" dio, nemoj uređivati

Ako nije planirano postavljanje root sistema datoteka na ovaj isječak, za kreiranje jedne particije biće dovoljno dodati (pomoću najčešćih uređivačkih alata) red kao

D: 2547870 4.2BSD

u slučaju "ekskluzivnog" diska, ili

D: 254787 63 4.2BSD

za disk particioniran u načinu kompatibilnosti.

I - izađite iz uređivača njegovom redovnom komandom, čuvajući promjene (u slučaju vi - :wq), u odgovoru na koje ćemo biti obaviješteni da

Fajl /tmp/EdDk.KvEGsqRNsh sačuvan.

Sljedeći put kada pozovete bsdlabel na istom rezu, ali bez opcija, slika će biti sljedeća:

# /dev/da0: 8 particija: # pomak veličine fstype c: 254787 0 neiskorišten 0 0 # "sirovi" dio, ne uređivati ​​d: 254787 0 4.2BSD 0 0 0

To jest, možete vidjeti da je "radna" particija uspješno kreirana.

Za kreiranje nekoliko particija, uključujući root i za swap, opet nam je potrebna neka aritmetika, slična fdisk programu koji se primjenjuje u interaktivnom načinu. Odnosno, svaka sekcija, počevši od , mora primiti vrijednost početnog pomaka (prvi odgovara početnom bloku cijelog isječka, ostatak - zbir pomaka i veličine prethodnog), veličinu (opet u blokovima), tip sistema datoteka (za "radne" particije - 4.2BSD, za swap particiju - swap). Polja parametara sistema datoteka mogu ostati prazna - u ovom slučaju će se parametri sistema datoteka odrediti kada se se kreira (tj. prilikom „formatiranja“, u smislu DOS-a, particija).

U ovom trenutku, pitanje rezova i particija se može smatrati zatvorenim u prvoj aproksimaciji. Naravno, stvorene particije još uvijek nisu upotrebljive - prvo morate kreirati sistem datoteka na njima. Ili, kako kažu "prozorske daske", formatirajte ih. Šta ćemo uraditi u bliskoj budućnosti. Ali u sledećem delu...

Top Related Articles