რა ავირჩიოთ - GPT თუ MBR? ჩვენ განვმარტავთ, თუ როგორ განსხვავდება სტანდარტები. Windows-ის ინსტალაცია MBR-დან GPT-ში გადაკეთებულ დისკზე მონაცემების დაკარგვის გარეშე არასისტემურ დანაყოფებზე შექმენით mbr დანაყოფი

სანამ კითხვას დასვამთ MBR-თან დაკავშირებულ თემაში, გთხოვთ, წაიკითხოთ შემდეგი:

1. რა არის MBR და რატომ არის ის მნიშვნელოვანი კომპიუტერის მუშაობაში?
ინგლისურიდან თარგმნილი, MBR არის აბრევიატურა, რაც ნიშნავს Main/Master Boot Record ან Main Boot Record. ეს ჩანაწერი დევს მყარი დისკის პირველ ფიზიკურ სექტორში და დიდ როლს ასრულებს ოპერაციული სისტემის ჩატვირთვაში, უფრო სწორად, არჩევის რომელი დანაყოფიდან ჩაიტვირთოს ოპერაციული სისტემა. ამრიგად, MBR შეიცავს ინფორმაციას მყარი დისკის დანაყოფების შესახებ (ტიხრების ცხრილი). კომპიუტერის ჩატვირთვისას, MBR იტვირთება BIOS მეხსიერებაში (Basic Input/Output System), სადაც მას ეძლევა სისტემის ჩატვირთვის კონტროლი, უფრო სწორად, არჩევანი, რომელი დანაყოფი გააქტიურდეს. სწორედ ამიტომ, Acer სისტემაზე, იმისათვის, რომ გამოიყენოთ სისტემის აღდგენის სისტემა (eRecovery Management) ფარული დანაყოფიდან, თქვენ ერთდროულად უნდა დააჭიროთ Alt-F10 კლავიშებს კომპიუტერის ჩატვირთვისას (კერძოდ, როდესაც გამოჩნდება Acer ლოგო, როდესაც POST ტარდება BIOS ტესტი). კლავიშების ეს კომბინაცია საშუალებას აძლევს MBR-ს, აირჩიოს პირველი დანაყოფი (PQService), როგორც აქტიური დანაყოფი. როდესაც კომპიუტერი ნორმალურად ჩაიტვირთება, მეორე დანაყოფი რჩება აქტიურ დანაყოფი, რომელზედაც დაყენებულია ძირითადი მომხმარებლის ოპერაციული სისტემა. ზემოთ მოცემულ ფიგურაში შევეცადე გრაფიკულად გამომესახა MBR-ის მოქმედების პრინციპი, სადაც შეგიძლიათ იხილოთ პირველი ფარული დანაყოფი "PQService", მეორე დანაყოფი დაინსტალირებული სისტემით "C:" და მესამე დანაყოფი მომხმარებლის მონაცემებისთვის "D. :".

აქ წარმოდგენილია დისკები სამი და ოთხი დანაყოფით (ამ უკანასკნელ შემთხვევაში არის დამალული მეოთხე დანაყოფი Instant-On-Arcade "IOArcade", რომელიც საშუალებას გაძლევთ ჩატვირთოთ მულტიმედიური გარსი ძირითადი ოპერაციული სისტემის ჩატვირთვის გარეშე).

2. Alt+F10 კლავიშების კომბინაცია არ მუშაობს, რა ვქნა?
თუ, როდესაც დააჭირეთ Alt+F10-ს, ვერ ჩატვირთავთ კომპიუტერს ფარული დანაყოფიდან (შედით Acer eRecovery Management), მაშინ ეს ნიშნავს ორიგინალური Acer MBR ჩანაცვლებას თქვენს მიერ დაინსტალირებული ოპერაციული სისტემის ძირითადი ჩატვირთვის ჩანაწერით. ორიგინალური MBR (Acer-ისგან) Windows XP-ზე, Vista-ზე დასაინსტალირებლად, გამოიყენეთ ეს პაჩი (გაათავისუფლეთ და გაუშვით). თუ Windows 7 წინასწარ იყო დაინსტალირებული, მაშინ ამოხსნის შემდეგ გაუშვით ეს პატჩი. სისტემის გადატვირთვის შემდეგ, კვლავ სცადეთ დააჭირეთ Alt+F10.

3. თქვენ წაშალეთ ფარული დანაყოფი(ები) და არ აპირებთ Acer eRecovery Management-ის გამოყენებას. რა უნდა გააკეთოს ამ შემთხვევაში?
პირველ რიგში, თქვენ უნდა გამორთოთ "D2D Recovery" ფუნქცია BIOS-ში. ამის შემდეგ, შეგიძლიათ თავად დააინსტალიროთ ოპერაციული სისტემა ან გამოიყენოთ აღდგენის დისკები, რომლებიც მოჰყვა თქვენს კომპიუტერს ან შექმენით Acer eRecovery პროგრამის გამოყენებით. ამ უკანასკნელ შემთხვევაში, აღდგენის პროგრამა ავტომატურად აღმოაჩენს ფარული დანაყოფის არარსებობას და დააინსტალირებს სისტემას პირველ დანაყოფზე, საიდანაც დაინსტალირებული ოპერაციული სისტემა შემდგომში ჩაიტვირთება.

გარდა ამისა: Windows XP ჩამტვირთველის აღსადგენად (თუ ეს OS დაინსტალირებულია), გამოიყენეთ ეს პროგრამა. Ფრთხილად იყავი! ფაილის გაშვება მხოლოდ იმ შემთხვევაში, თუ დაინსტალირებული გაქვთ Windows XP. თუ გჭირდებათ Windows Vista-ს ჩამტვირთველის აღდგენა, გაუშვით ეს პროგრამა.

თუ გსურთ შეაკეთოთ MBR DOS გარემოში, mbrwrwin.exe პროგრამა არ იმუშავებს. გამოიყენეთ ამ მიზნით.

ყველა კითხვას გამოვხატავთ ამ ფორუმის თემაში:

მასალა მომზადდა სპეციალურად http://site-ისთვის (ავტორი – გურიევ დენისი, GDenis)
ელ.ფოსტა [ელფოსტა დაცულია]
(მასალის მოდიფიკაცია, გადაწერა და გავრცელება მხოლოდ ავტორის ნებართვით)

Windows-ის ჩატვირთვის პრობლემების აღმოსაფხვრელად ერთ-ერთი ეფექტური ნაბიჯი არის Windows 10/7/8.1 ჩატვირთვის ჩანაწერის აღდგენა ახალი UEFI და GPT დანაყოფით ან BIOS MBR დანაყოფით. ერთ-ერთი გავრცელებული მიზეზი, რის გამოც ძირითადი ჩატვირთვის ჩანაწერი შეიძლება დაზიანდეს, არის მავნე პროგრამული უზრუნველყოფის ინფექციის ან ამ სექტორში ფაილების კორუფციის გამო. არასწორმა გამორთვამ ასევე შეიძლება გამოიწვიოს ჩატვირთვის ჩანაწერის (MBR) კორუფცია. ზოგჯერ პრობლემები წარმოიქმნება, როდესაც Linux Grub არის დაინსტალირებული და Windows ვერ აღმოაჩენს მას. ზოგიერთ შემთხვევაში შეიძლება მიიღოთ შეცდომა Bootmgr აკლიაან BCDროდესაც ჩართავთ კომპიუტერს. ასეთ შემთხვევებში, ამ პრობლემების გადასაჭრელად შეგიძლიათ ჩატვირთოთ ჩამტვირთველის შეკეთება.

როგორ აღვადგინოთ Windows 10 ჩამტვირთავი

მზად უნდა იყოთ, რადგან თქვენი კომპიუტერი არ ჩაიტვირთება დესკტოპზე და ჩატვირთვის დამატებითი ვარიანტები შეიძლება არ იყოს ეფექტური. ამიტომ, გჭირდებათ Windows 10 იმავე ბიტის სიღრმით (x32 ან x64), რომლის შეკეთებას აპირებთ და სასურველია იგივე ვერსია. თქვენ უნდა ჩატვირთოთ ყველა შემდეგი მეთოდი ჩამტვირთავი USB ფლეშ დრაივიდან ბრძანების ხაზის გასაშვებად. დაიმახსოვრეთ, რომ ჩამტვირთველის აღდგენის შემდეგ შეიძლება გამოჩნდეს გარკვეული შეცდომები და თქვენ უბრალოდ უნდა გადატვირთოთ კომპიუტერი რამდენჯერმე, რომ ჩამტვირთავი შეეგუოს მას.

დაიწყეთ Windows 10-ის ინსტალაცია ჩამტვირთავი USB ფლეშ დრაივიდან და გადადით ინსტალაციის პუნქტზე. შემდეგი, დააჭირეთ ბოლოში " Სისტემის აღდგენა" ჩატვირთვის დამატებით ვარიანტებზე მოსახვედრად.

მეთოდი 1. როგორც კი ჩატვირთვის გაფართოებულ ვარიანტებში მოხვდებით, გადადით " " > "დამატებითი პარამეტრები" > და აირჩიეთ "". დაელოდეთ პროცესის დასრულებას და Windows 10-ის ჩამტვირთველი უნდა აღდგეს.

მეთოდი 2. ჩატვირთვის იმავე გაფართოებულ პარამეტრებში გადადით " Დიაგნოსტიკა" > "დამატებითი პარამეტრები"> და გაიქეცი" ბრძანების ხაზი".


პირველ რიგში, ჩვენ დავრწმუნდებით, რომელ ლოკალურ დისკზეა განთავსებული სისტემა, რომელზეც გვინდა ჩამტვირთველის აღდგენა. ამისათვის შეასრულეთ შემდეგი სამი ბრძანება ბრძანების სტრიქონზე, თითოეულის შემდეგ დააჭირეთ Enter-ს:

  1. დისკის ნაწილი
  2. სიის მოცულობა- აჩვენებს სექციების სიას.
  3. გასასვლელი- გასვლა დისკებთან მუშაობის ხელსაწყოდან.

ჩემს შემთხვევაში, ქვემოთ მოცემული სკრინშოტი აჩვენებს, რომ ლოკალური დისკი, რომელზეც Windows 10 არის დაინსტალირებული, არის არა "C", არამედ "D". დიდი ალბათობით გექნებათ "C", მაგრამ ფრთხილად იყავით, უნდა განსაზღვროთ სად გაქვთ სისტემა დაინსტალირებული. მას შემდეგ რაც დაადგინეთ, რა ასოზეა თქვენი სისტემა, შეიყვანეთ შემდეგი ბრძანება Windows 10-ის ჩამტვირთველის აღსადგენად:

  • bcdboot D:\windows

მეთოდი 3. თუ იყენებთ Windows სისტემას ახალი UEFI და GPT დანაყოფის სქემით, მაშინ უნდა იპოვოთ ფარული დანაყოფი FAT32 ფაილური სისტემით (ეს არის დაახლოებით 90-300 მბ). თუ თქვენ გაქვთ BIOS და MBR დანაყოფი, მაშინ ფაილური სისტემა იქნება NTFS (დაახლოებით 500 მბ). ჩემს შემთხვევაში ეს არის NTFS. ეს ნიშნავს, რომ ჩვენ გავუშვით ბრძანების სტრიქონი ჩამტვირთავი USB ფლეშ დრაივის საშუალებით, როგორც ზემოთ იყო აღწერილი, და ვწერთ ბრძანებებს:

  1. დისკის ნაწილი- უშვებს ინსტრუმენტს დისკებთან მუშაობისთვის.
  2. სიის მოცულობა- აჩვენებს სექციების სიას.
  3. აირჩიეთ ტომი 3- არჩევანი დამალულიტომი (ჩემს შემთხვევაში ეს არის NTFS, შეიძლება გქონდეთ ფარული FAT32).
  4. ფორმატი fs=ntfsან ფორმატი fs=fat32- არჩეული მოცულობის ფორმატირება (დამოკიდებულია იმაზე, თუ რომელი გაქვთ).
  5. მივანიჭოთ ასო=E- ამას ახალ წერილს ვაძლევთ (მე დავანიშნე ის, რაც უკვე იყო).
  6. გასასვლელი- გასვლა დისპარტის ხელსაწყოდან.
  7. bcdboot D:\Windows /s E: /f ALL- დააკოპირეთ bootloader ფაილები. (ჩემს შემთხვევაში, დისკი D: არის ტომი, რომელზედაც მდებარეობს თავად Windows, E: არის ასო, რომელიც ჩვენ მივანიჭეთ დამალულ დანაყოფს).
  8. დისკის ნაწილი- აბრუნებს დისკის ხელსაწყოს.
  9. სიის მოცულობა- აჩვენეთ სექციების სია.
  10. აირჩიეთ ტომი 3- ფარული ტომის ნომერი, რომელსაც მივანიშნეთ ასო.
  11. ამოიღეთ ასო=E- წაშალეთ ასო ისე, რომ დანაყოფი არ გამოჩნდეს სისტემაში გადატვირთვისას.


მეთოდი 4. ამ მეთოდით ჩვენ გამოვიყენებთ ხელსაწყოს Bootrec.exe. შეიყვანეთ შემდეგი ბრძანებები ერთმანეთის მიყოლებით ბრძანების სტრიქონში:

  1. bootrec / RebuildBcd
  2. bootrec /fixMbr
  3. bootrec/fixboot

გამოდით და გადატვირთეთ სისტემა.


ზოგიერთ შემთხვევაში, დაგჭირდებათ დამატებითი ბრძანების გაშვება:

  • bootsect / nt60 SYSან bootsect /nt60 ALL

ამ განყოფილებაში მე გაჩვენებთ, თუ როგორ უნდა დაწეროთ თქვენი საკუთარი მულტიბუტ მენეჯერი. Multiboot Manager არის კოდი, რომელიც მდებარეობს ჩატვირთვის სექტორში, რომელიც მომხმარებლის არჩევანით იტვირთება კომპიუტერზე დაყენებულ რამდენიმე ოპერაციულ სისტემაში. დისკუსიის დროს გაეცნობით INT 13h შეფერხებას, დანაყოფის ცხრილს და ა.შ. სტანდარტული ჩამტვირთველი, რომელსაც ოპერაციული სისტემების უმეტესობა ნაგულისხმევად აყენებს, ზედმეტად პრიმიტიულია, რომ სერიოზულად მივიჩნიოთ, ხოლო მესამე მხარის დეველოპერების მორგებული ჩამტვირთველები, როგორც წესი, ძალიან უხერხული და არასანდოა. მოდით დავწეროთ ჩვენი! სანამ მას ვწერთ, გავიცნობთ ასამბლერის ტაოსა და ზენს, ვისწავლით როგორ გავამართოთ პროგრამები გამართვის გარეშე და უფრო ახლოს დავაკვირდეთ მყარი დისკის დაბალი დონის ინტერფეისებს.

ინტერფეისი INT 13 სთ

თქვენ შეგიძლიათ მართოთ დისკები როგორც I/O პორტების, ასევე BIOS-ის მეშვეობით. პორტები ბევრად უფრო მძლავრი და საინტერესოა, მაგრამ BIOS-ის დაპროგრამება ბევრად უფრო ადვილია და ის ასევე მხარს უჭერს სხვადასხვა ზომის დისკების დიდ რაოდენობას, თითოეული კონკრეტული მოდელის დიზაინის მახასიათებლების აბსტრაქციით. ამიტომ, ჩვენ ვიმოქმედებთ მისი მეშვეობით, უფრო ზუსტად, შეფერხების ინტერფეისის INT 13h მეშვეობით.

ფუნქციის ნომერი შეიტანება AH რეესტრში. წაკითხვის შემთხვევაში უდრის ორს. AL რეესტრი პასუხისმგებელია დამუშავებული სექტორების რაოდენობაზე. ვინაიდან ჩვენ ვაპირებთ წავიკითხოთ ერთი სექტორი თითო ოპერაციაზე, ერთს აქ დავდებთ. DH რეგისტრი ინახავს სათაურის ნომერს, ხოლო DL რეგისტრი ინახავს დისკის ნომერს (80h არის პირველი მყარი დისკი, 81h არის მეორე და ა.შ.). CL რეგისტრის ყველაზე ნაკლებად მნიშვნელოვანი ხუთი ბიტი განსაზღვრავს სექტორის ნომერს, CL რეგისტრის დარჩენილი ბიტი და CH რეგისტრის რვა ბიტი მიუთითებს ცილინდრის რაოდენობას, რომლის წაკითხვაც გვინდა. რეგისტრის წყვილი ES:BX მიუთითებს დანიშნულების ბუფერის მისამართზე. ეს ყველაფერი, ფაქტობრივად. INT 13h ბრძანების შესრულების შემდეგ წაკითხული მონაცემები ბუფერში მოხვდება და თუ მოხდა შეცდომა (მაგალითად, თავი „დააბრკოლებს“ BAD სექტორში), BIOS დააყენებს ტარების დროშას და ჩვენ იძულებულნი ვიქნებით. ხელახლა სცადეთ ან ეკრანზე სევდიანი შეტყობინების ჩვენება.

ამ პროგრამის ასამბლეის ენის კოდი ნაჩვენებია სიაში 5.6.

ჩამონათვალი 5.6. კოდი, რომელიც კითხულობს ჩატვირთვის სექტორს ან გაფართოებულ დანაყოფის ცხრილს

MOV SI, 1BEh; გადადით პირველ განყოფილებაში
MOV AX, CS; ES-ის დაყენება
MOV ES, AX
MOV BX, buf; ბუფერული ოფსეტი
...
read_all_partitions:
MOV AX, კვირტი; წაიკითხეთ 1 სექტორი დისკიდან

MOV DH, ; საწყისი ხელმძღვანელი ნომერი
MOV CX, ; საწყისი სექტორი ცილინდრით INT 13h
JC შეცდომა; წაკითხვის შეცდომა
წაკითხული ჩატვირთვის სექტორის ან გაფართოებული დანაყოფის ცხრილის დამუშავება
;===================================================================
;
CMP ბაიტი, 80 სთ
JZ LOAD_BOOT; ეს არის ჩატვირთვის სექტორი
; ჩვენ მას გადავცემთ კონტროლს
CMP ბაიტი, 05 სთ
JZ LOAD_CHS_EXT; ეს არის გაფართოებული დანაყოფის ცხრილი
; CHS ფორმატში
CMP ბაიტი, 0Fh
JZ LOAD_LBA_EXT; ეს არის გაფართოებული დანაყოფის ცხრილი
; LBA ფორმატში
ADD SI, 10 სთ; მოდით გადავიდეთ შემდეგ განყოფილებაზე
CMP SI, 1EEh
JNA read_all_partitions; წაიკითხეთ ყველა განყოფილება სათითაოდ
...buf rb 512 ; 512 ბაიტი ბუფერი

სექტორის ჩაწერა CHS რეჟიმში ხდება თითქმის ზუსტად იგივე გზით, მხოლოდ AH რეგისტრი არის არა 02h, არამედ 03h. LBA რეჟიმის გარკვევა გაცილებით რთულია, მაგრამ ჩვენ, როგორც ნამდვილი ჰაკერები, აუცილებლად დავეუფლებით მას.

სექტორი იკითხება ფუნქციით 42h (AH = 42h). DL რეგისტრი, როგორც ადრე, შეიცავს დისკის ნომერს, მაგრამ DS:SI რეგისტრის წყვილი მიუთითებს დისკის მისამართის პაკეტზე, რომელიც წარმოადგენს ცხრილში აღწერილი ფორმატის გაფართოებულ სტრუქტურას. 5.4.

ცხრილი 5.4. მისამართის პაკეტის ფორმატი, რომელიც გამოიყენება სექტორების წასაკითხად და ჩასაწერად LBA რეჟიმში

მიკერძოება ტიპი აღწერა
00 სთ BYTE პაკეტის ზომა - 10 სთ ან 18 სთ
01 სთ BYTE ველი დაცულია და უნდა იყოს ნული
02 სთ სიტყვა რამდენი სექტორის წაკითხვა
04 სთ DWORD 32-ბიტიანი დანიშნულების ბუფერული მისამართი seg:offs ფორმატში
08 სთ QWORD საწყისი სექტორის ნომერი წასაკითხად
10 სთ QWORD დანიშნულების ბუფერის 64-ბიტიანი ბრტყელი მისამართი. გამოიყენება მხოლოდ იმ შემთხვევაში, თუ 32-ბიტიანი მისამართია FFFF:FFFF

კოდი, რომელიც კითხულობს სექტორს LBA რეჟიმში, ჩვეულებრივ ჰგავს 5.7-ში ნაჩვენების.

ჩამონათვალი 5.7. კოდი, რომელიც კითხულობს სექტორს დისკიდან LBA რეჟიმში

MOV DI, 1BEh; გადადით პირველ განყოფილებაში
MOV AX, CS; Დაყენება...
MOV buf_seg ; ...სეგმენტი
MOV EAX, ; დანაყოფის ოფსეტური შედარებით
; განყოფილების დასაწყისი
EAX, EDI დამატება; EDI უნდა შეიცავდეს სექტორის ნომერს
; მიმდინარე MBR
MOV ;
...
read_all_partitions:
MOV AN, 42სთ; სექტორის წაკითხვა LBA რეჟიმში
MOV DL, 80 სთ; წაიკითხეთ პირველი დისკიდან
MOV SI, dap; მისამართის პაკეტის ოფსეტური INT 13სთ
JC შეცდომა; წაკითხვის შეცდომა
...
dap:
პაკეტის ზომა db 10h; პაკეტის ზომა 10 სთ ბაიტი
დაჯავშნილი db 00h ; "Stash" მომავალი გაფართოებებისთვის
N_SEC dw 01h ; ერთი სექტორის კითხვა
buf_seg dw 00h ; დანიშნულების ბუფერული სეგმენტი შეიყვანება აქ
buf_off dw buf ; დანიშნულების ბუფერული ოფსეტი
X_SEC dd 0 ; წასაკითხი სექტორის ნომერი შეიყვანება აქ
დდ 0; მართლა გამოუყენებელი კუდი
; 64 ბიტიანი მისამართი
buf rb 512; 512 ბაიტი ბუფერი

წერა წაკითხვის მსგავსია, მხოლოდ AH რეგისტრი შეიცავს არა 42 სთ-ს, არამედ 43 სთ-ს. AL რეგისტრი განსაზღვრავს რეჟიმს: თუ ბიტი 0 არის 1, BIOS არ წერს, არამედ ამსგავსებს მას. ბიტი 2, როდესაც დაყენებულია, ჩაწერს შესამოწმებლად. თუ AL რეგისტრი არის 0, შესრულებულია ნაგულისხმევი ნორმალური ჩაწერა.

ახლა, როდესაც ჩვენ კომფორტული გავხდით დისკის შეფერხებებით, მოდით გადავიდეთ პროგრამირების სხვა ასპექტების განხილვაზე.

ჩამტვირთველის კოდის შექმნა

ჩამტვირთველები საუკეთესოდ არის დაპროგრამებული FASM-ის გამოყენებით. ასამბლერის თვალსაზრისით, ჩამტვირთავი არის ჩვეულებრივი ბინარული ფაილი, რომლის მაქსიმალური დასაშვები ზომაა 1BBh (443) ბაიტი. Ცოტა? მაგრამ ნუ ვიჩქარებთ დასკვნების გამოტანას. ყოველი დანაყოფი ყოველთვის იწყება ცილინდრის დასაწყისიდან, რაც ნიშნავს, რომ MBR-ის ბოლოსა და დანაყოფის დასაწყისს შორის არის მინიმუმ n თავისუფალი სექტორი, სადაც n == სექტორები თითო ტრეკზე . თითქმის ყველა თანამედროვე მყარ დისკს აქვს 64 სექტორი თითო ტრეკზე, რაც გვაძლევს: 443 + 63*512 == 32,699 ბაიტი ან დაახლოებით 32 კბ. დიახ, ამ ტომში შეგიძლიათ მაუსის გრაფიკული ინტერფეისიც კი მოათავსოთ! თუმცა ჩვენ ამას არ გავაკეთებთ. ნამდვილი ჰაკერები მუშაობენ ტექსტის რეჟიმში ბრძანების ხაზით.

როგორც უკვე აღვნიშნეთ, BIOS იტვირთება MBR მისამართზე 7C00h, ამიტომ ასამბლეის კოდის დასაწყისში უნდა იყოს დირექტივა ORG 7C00h და ასევე USE16, რადგან ჩამტვირთველი მუშაობს 16-ბიტიან რეალურ რეჟიმში. მოგვიანებით, სურვილის შემთხვევაში, მას შეუძლია გადაერთოს დაცულ რეჟიმში, მაგრამ ეს მოგვიანებით მოხდება. ნუ ჩავვარდებით ასეთ ჯუნგლებში.

ჩატვირთვის დანაყოფის აღმოჩენის შემდეგ (და ეს შეიძლება გამოვლინდეს 80h დროშით, რომელიც მდებარეობს დანაყოფის დასაწყისიდან ნულოვანი ოფსეტურით), ჩამტვირთველმა უნდა წაიკითხოს ამ დანაყოფის პირველი სექტორი და მოათავსოს იგი მეხსიერებაში მისამართზე 0000:7C00h, რომ არის ზუსტად საკუთარი სხეულის თავზე. მაგრამ ეს უკვე აღარ არის კარგი! და იმისათვის, რომ არ გამოიწვიოს სისტემის ავარია, ჩამტვირთველმა უნდა გადაიტანოს თავისი სხეული წინასწარ სხვა მისამართზე, რაც ჩვეულებრივ კეთდება MOVSB ​​ბრძანებით. შეგიძლიათ დააკოპიროთ მეხსიერების ნებისმიერ მისამართზე - 0080:0067 სთ-დან 9FE00 სთ-მდე. უმჯობესია არ შეეხოთ 0080:0067h ქვემოთ მდებარე მეხსიერებას, რადგან აქ განლაგებულია შეფერხების ვექტორები და BIOS სისტემის ცვლადები, ხოლო ROM-ის რუკების არე იწყება A000h და ზემოთ, ამიტომ მაქსიმალური ხელმისაწვდომი მისამართია A000h - 200h (სექტორის ზომა) = = 9FE00 სთ.

ნუ დაგავიწყდებათ, რომ არასოდეს უნდა შეეხოთ DL რეესტრს, რადგან ის შეიცავს ჩატვირთვის დისკის ნომერს. ზოგიერთი ჩამტვირთველი შეიცავს შეცდომას, რომელიც ყოველთვის ჩაიტვირთება პირველი მყარი დისკიდან, და ეს მაშინ, როდესაც BIOS გაძლევთ საშუალებას შეცვალოთ ჩატვირთვის რიგი 10 წელზე მეტი ხნის განმავლობაში და, შესაბამისად, ნებისმიერი დისკი შეიძლება იყოს ჩატვირთვადი.

სინამდვილეში, FASM არის ჩემთვის ცნობილი ერთადერთი ასამბლეერი, რომელიც უშუალოდ „ამუშავებს“ JMP 0000:7C00h საქალაქთაშორისო ზარის ბრძანებას. ყველა სხვა ასამბლეერი აქცევს მას გარყვნილებას დაახლოებით ასე: PUSH offset_of_target/PUSH segment_of_target/RETF. აქ ჩვენ ვაყენებთ სამიზნე მისამართის სეგმენტს და ოფსეტს დასტაზე და ვასრულებთ შორს RETF, რომელიც მიგვიყვანს სასურველ ადგილას. თქვენ ასევე შეგიძლიათ გამოიყენოთ თვითმოდიფიცირებადი კოდი JMP FAR ბრძანების „ხელით“ აწყობით, ან უბრალოდ სამიზნე მისამართის იმავე სეგმენტში განთავსებით, როგორც წყაროს მისამართი (მაგალითად, 0000:7C00h ? 0000:7E00h). თუმცა, ეს მიდგომები დამღლელი და დამღლელია.

ზოგადად, ჩვენი ჩამტვირთველის ჩონჩხი ჰგავს 5.8 ჩამონათვალში ნაჩვენების.

ჩამონათვალი 5.8. FASM-ში დაწერილი მარტივი ჩამტვირთველის ჩონჩხი

გამოყენება16
ORG 7C00h
CLD ; დააკოპირეთ მარცხნიდან მარჯვნივ
; (მისამართების გაზრდა)
MOV SI,7C00h ; საიდან კოპირება
MOV DI,7E00h ; სად კოპირება
MOV CX, 200 სთ; სექტორის სიგრძე
REP MOVSB; კოპირება
; // აირჩიეთ დანაყოფი, რომლის ჩატვირთვაც გვინდა,
; // წაიკითხეთ მეხსიერებაში მისამართზე 0000:7C00h
; // (იხილეთ ჩამონათვალი 5.7 და 5.6)
JMP 0000:7C00h ; კონტროლის გადატანა ჩატვირთვის სექტორში

ჩაწერეთ ჩამტვირთველი ჩატვირთვის მთავარ ჩანაწერში

ძველი MS-DOS-ის პირობებში, ადვილი იყო თქვენი ჩამტვირთველის MBR-ში ჩაწერა. ამისათვის უბრალოდ გაიყვანეთ INT 13h შეფერხება, ფუნქცია 03h (სექტორის ჩაწერა). მაგრამ Windows NT-ში ეს ტექნიკა აღარ მუშაობს და თქვენ უნდა მიმართოთ CreateFile ფუნქციას. თუ გასახსნელი ფაილის სახელის ნაცვლად მივუთითებთ მოწყობილობის სახელს, მაგალითად, .PHYSICALDRIVE0 (პირველი ფიზიკური დისკი), შეგვიძლია თავისუფლად წავიკითხოთ და დავწეროთ მისი სექტორები შესაბამისად ReadFile და WriteFile-ის გამოძახებით. ამ შემთხვევაში, dwCreationDisposition დროშა უნდა დაყენდეს OPEN_EXISTING მნიშვნელობაზე, ხოლო dwShareMode დროშა FILE_SHARE_WRITE მნიშვნელობაზე. ასევე დაგჭირდებათ სისტემის ადმინისტრატორის უფლებები, წინააღმდეგ შემთხვევაში არაფერი გამოვა.

CreateFile ზარის დასრულებული მაგალითი ჰგავს Listing 5.9-ს.

ჩამონათვალი 5.9. მყარ დისკზე პირდაპირი წვდომის გახსნა Windows NT-ის ქვეშ

XOR EAX, EAX
PUSH EAX ; hTemplateFile
PUSH dword FILE_ATTRIBUTE_NORMAL; dwFlagsAndAttributes
PUSH dword OPEN_EXISTING; dwCreationDisposition
PUSH EAX ; lpSecurityAttributes
PUSH dword FILE_SHARE_WRITE; dwShareMode
PUSH dword (GENERIC_WRITE OR GENERIC_READ) ; dwDesiredAccess
PUSH DEVICE_NAME; მოწყობილობის სახელი
CALL CreateFile; მოწყობილობის გახსნა
INC EAX
ტესტი EAX,EAX
JZ შეცდომა
დეკ EAX
...
DEVICE_NAME db ".PHYSICALDRIVE0",0
BUF RB 512; ბუფერი

მას შემდეგ, რაც გავხსენით ფიზიკური დისკი და დავრწმუნდით, რომ ეს ოპერაცია წარმატებით დასრულდა, ჩვენ უნდა წავიკითხოთ ორიგინალი MBR სექტორი ბუფერში, გადავწეროთ პირველი 1BBh ბაიტი, არავითარ შემთხვევაში არ შევეხოთ დანაყოფების ცხრილს და 55h AAh ხელმოწერას (არ გვინდა დისკი შეწყვიტოს ჩატვირთვა, არა?). ახლა რჩება მხოლოდ განახლებული MBR კოდის ადგილზე ჩაწერა და მოწყობილობის აღწერის დახურვა. გადატვირთვის შემდეგ, ყველა ცვლილება ძალაში შევა.

შენიშვნა

მართალია, სავსებით შესაძლებელია, რომ თქვენ მიერ განხორციელებული ცვლილებები ძალაში შესვლაზე არც იფიქროთ. მტვირთავი იღებს სასტიკ შურისძიებას დიზაინის უმცირესი შეცდომისთვის. ამიტომ, იმისათვის, რომ არ დაკარგოთ თქვენი ტიხრების შინაარსი, უმჯობესია პირველ რიგში ივარჯიშოთ VMWare-ზე ან კომპიუტერის სხვა ემულატორზე.

Windows 9-ის ქვეშ xრა თქმა უნდა, CreateFile ხრიკი არ მუშაობს. მაგრამ იქ შეგიძლიათ გამოიყენოთ შეფერხების სიმულაცია DMPI-დან ან გამოიყენოთ ASPI დრაივერი. ორივე მეთოდი დეტალურად იყო აღწერილი ჩემს წიგნში „დისკების კოპირებისგან დაცვის ტექნიკა“. თუმცა, მიუხედავად იმისა, რომ საუბარია დისკებზე და არა HDD-ებზე, მყარი დისკები დაპროგრამებულია იმავე გზით.

სანამ დაწერთ საკუთარ ჩამტვირთველს, რეკომენდებულია არსებული არასტანდარტული ჩამტვირთველების შესწავლა. ქვემოთ ჩამოთვლილი ყველა ჩამტვირთველი განაწილებულია GPL ან BSD ლიცენზიით, ანუ შეზღუდვების გარეშე.

Ge2000.asm არის ყურადღებით კომენტირებული Stealth ვირუსი, რომელიც ცვლის სისტემის ჩამტვირთველს თავისით. მიუხედავად იმისა, რომ ეს არის ვირუსი, ის არ არის საშიში და შეიძლება გამოყენებულ იქნას საგანმანათლებლო მიზნებისთვის.

Mbr.asm არის უკიდურესად მარტივი, მაგრამ სრულად ფუნქციონალური ჩამტვირთველი, 8 გბ-ზე მეტი დანაყოფების მხარდაჭერით.

Bootasm არის შესანიშნავი მულტიბუტ მენეჯერი დეტალური კომენტარებით, გადადის დაცულ რეჟიმში, შეუძლია ჩატვირთვა ფლოპი დისკიდან, CD, zip დისკიდან, მყარი დისკიდან და ა.შ. იგი მხარს უჭერს ტიხრებს 8 გბ-ზე მეტი, აჩვენებს ჩატვირთვის ინდიკატორს და აკეთებს ბევრ სხვა სასარგებლო საქმეს, რისი სწავლაც არ დააზარალებს.

ჩამტვირთველის კოდის გამართვა

ჩამტვირთველის კოდის გამართვა წარმოუდგენლად რთულია. ჩამტვირთავი კონტროლს იძენს ოპერაციული სისტემის დაწყებამდე დიდი ხნით ადრე, როდესაც ჯერ კიდევ არ არის გამართული შეცდომები. რამდენიმე წლის წინ, ეს იყო უზარმაზარი პრობლემა და „დახვეწილი“ ჩამტვირთველის შემუშავებისას, თქვენ ან უნდა შეგექმნათ მათში ინტეგრირებული მინი-გამმართველი, ან ხელით ეძიათ შეცდომები, შეისწავლეთ ჩამონათვალი ფანქრით ხელში. ემულატორების მოსვლასთან ერთად ყველაფერი შეიცვალა. უბრალოდ გაუშვით ემულატორი, როგორიცაა BOCHS (ნახ. 5.5) და შეგიძლიათ ჩამტვირთველის გამართვა, როგორც ნებისმიერი სხვა პროგრამა!


ბრინჯი. 5.5. BOCHS ემულატორის გამოჩენა ჩატვირთვის სექტორის გამართვის პროცესში

ჩამტვირთველის პროგრამირება არის ერთ-ერთი იმ რამდენიმე სფეროდან, სადაც ასამბლერის გამოყენება ნამდვილად გამართლებულია. მაღალი დონის ენები ზედმეტად აბსტრაქტულია ამისთვის ტექნიკისგან. გარდა ამისა, ისინი არ არიან საკმარისად მოქნილი. სწორედ ამიტომ ჰაკერებს უყვართ ჩამტვირთავებთან შეხება, მრავალი ახალი ფუნქციის დამატება, მათ შორის ავტომატური ჩატვირთვა CD-ROM ან SCSI დისკებიდან, ანტივირუსული, პაროლის დაცვა მონაცემთა დაშიფვრით და ა.შ. აქ ნამდვილად არის გასაფართოვებელი ადგილი და არის რაღაც, რაც გამოავლენს თქვენს შესაძლებლობებს. შემდგომი წაკითხვისთვის მე გირჩევთ რამდენიმე ძალიან საინტერესო წყაროს. აი ისინი:

? MBR და OS ჩატვირთვის ჩანაწერები- ბევრი საინტერესო მასალა MBR-ზე (ინგლისურად): http://thestarman.narod.ru/asm/mbr/MBR_in_detail.htm;

? BOCHS- შესანიშნავი ემულატორი ჩაშენებული გამართვით, რომელიც მნიშვნელოვნად ამარტივებს ჩატვირთვის სექტორების "ამოქმედების" პროცესს. უფასო, განაწილებული წყარო კოდით: http://bochs.sourceforge.net;

? http://www.koders.com(სურ. 5.6) - შესანიშნავი საძიებო სისტემა, რომელიც მიზნად ისახავს წყაროს კოდების ძიებას, საკვანძო სიტყვის MBR გამოყენებით, იგი აბრუნებს ჩამტვირთველების დიდ რაოდენობას ყველა გემოვნებისთვის;


ბრინჯი. 5.6. მოძებნეთ MBR ჩამტვირთველის წყაროები Koders-ის ვებსაიტზე

? რალფ ბრაუნის შეწყვეტის სია(ნახ. 5.7) - რალფ ბრაუნის ცნობილი "შეწყვეტის სია", რომელიც აღწერს ყველა შეფერხებას, მათ შორის არადოკუმენტურს (ინგლისურად): http://www.pobox.com/~ralf;


ბრინჯი. 5.7. ნახეთ რალფ ბრაუნის ლეგენდარული "შეწყვეტის სია"

OpenBIOS არის "Open BIOS" პროექტი, რომელიც განაწილებულია წყაროს კოდით. გვეხმარება სისტემის ჩამტვირთველის დამუშავების ზოგიერთი არაცხადი ასპექტის გაგებაში: http://www.openbios.info/docs/index.html.

მყარი დისკის ფორმატირება ხდება სამ ეტაპზე:

    დაბალი დონის ფორმატირება (დისკის ფიზიკური განლაგება ცილინდრებად, ტრასებად, სექტორებად);

    დისკის დაყოფა დანაყოფებად (ლოგიკური მოწყობილობები):

    თითოეული სექციის მაღალი დონის (ლოგიკური) ფორმატირება.

დაბალი დონის ფორმატირების ეტაპზე, პროცესორი, რომელიც ახორციელებს ფორმატირების პროგრამას, მონაცვლეობით აგზავნის ბრძანებას "Search" მყარი დისკის კონტროლერზე ჯერ დისკის თავების დასაყენებლად სასურველ ცილინდრზე, შემდეგ კი აგზავნის "Format Track" ბრძანებას. "Format track" ბრძანების შესრულებისას, მყარი დისკის კონტროლერი, რომელმაც მიიღო "Index" იმპულსი (ტრასის დასაწყისი) დისკიდან, ჩაწერს ტრეკის სერვისის ფორმატს, რომელიც არღვევს მას სექტორებად. თითოეული სექტორი შეიცავს მონაცემთა ბლოკს (512 ბაიტი), რომელიც ჩარჩოშია სექტორის სერვისის ფორმატით (მომსახურების ფორმატის შინაარსი და ზომა განისაზღვრება მოწყობილობის კონკრეტული შემქმნელის მიერ). ტრეკების და სექტორების სერვისის ფორმატი საჭიროა მყარი დისკის კონტროლერის მიერ ბრძანებების შესრულებისას. სერვისის ფორმატის ველების წაკითხვით და გაშიფვრით, კონტროლერი პოულობს საჭირო ცილინდრის, ზედაპირს, სექტორს და მონაცემთა ბლოკს სექტორის შიგნით დისკზე. ფორმატირების შემდეგ ეტაპზე, სისტემის ინფორმაცია იწერება მრავალი სექტორის მონაცემთა ბლოკებში, რაც უზრუნველყოფს დისკზე დანაყოფების ორგანიზებას, ოპერაციული სისტემის ავტომატურ ჩატვირთვას და დისკზე ფაილური სისტემის მხარდაჭერას.

დისკის დანაყოფებად დაყოფის ეტაპზე, დისკის პირველი ფიზიკური სექტორის მონაცემთა ბლოკში (ცილინდრი 0, ზედაპირი 0, სექტორი 1), იქმნება დანაყოფის ცხრილი 1BEh მისამართიდან, რომელიც შედგება 4 თექვსმეტ ბაიტიანი ხაზისგან. როგორც წესი, ამ სექტორის მონაცემთა ბლოკში ჩაწერილ სისტემურ ინფორმაციას ფორმატირების პროცესში ეწოდება Master Boot Record (MBR).

ამ სექტორის მონაცემთა ბლოკის თავიდანვე არის პროგრამა (IPL 1). პროცესორი გადადის IPL 1 პროგრამაზე POST-ის წარმატებით დასრულების შემდეგ და პროგრამა „Bootloader“, რომლის შესრულებაც პროცესორი იტვირთება დისკიდან MBR მეხსიერებაში და გადასცემს კონტროლს MBR-ის დასაწყისში (IPL 1 პროგრამაზე). , ოპერაციული სისტემის ჩატვირთვამდე მიმავალი მოქმედებების გაგრძელება. MBR-ში განთავსებული IPL 1 (ჩამტვირთველი) პროგრამა ათვალიერებს დანაყოფი ცხრილის რიგებს აქტიური დანაყოფის ძიებაში, საიდანაც ოპერაციული სისტემა შეიძლება ჩაიტვირთოს. თუ დანაყოფის ცხრილში არ არის აქტიური დანაყოფი, გამოჩნდება შეცდომის შეტყობინება. თუ მინიმუმ ერთი დანაყოფი შეიცავს არასწორ იარლიყს, ან თუ ერთზე მეტი დანაყოფი მონიშნულია როგორც აქტიური, გამოჩნდება შეცდომის შეტყობინება Invalid partition table და ჩატვირთვის პროცესი ჩერდება. თუ აქტიური დანაყოფი აღმოჩენილია, ამ დანაყოფის ჩატვირთვის სექტორი ანალიზდება. თუ მხოლოდ ერთი აქტიური დანაყოფი მოიძებნა, მაშინ მისი ჩატვირთვის სექტორის მონაცემთა ბლოკის შიგთავსი იკითხება მეხსიერებაში მისამართზე 0000:7C00 და კონტროლი გადადის ამ მისამართზე; თუ აქტიური დანაყოფის ჩატვირთვის სექტორი არ იკითხება. ხუთ მცდელობაში გამოჩნდება შეცდომის შეტყობინება: ოპერაციული სისტემის ჩატვირთვის შეცდომა და სისტემა ჩერდება; მოწმდება აქტიური დანაყოფის წაკითხული ჩატვირთვის სექტორის ხელმოწერა და თუ მისი ბოლო ორი ბაიტი არ შეესაბამება ხელმოწერას 55AAh, გამოჩნდება შეცდომის შეტყობინება: აკლია ოპერაციული სისტემა და სისტემა ჩერდება). პროცესორი კითხულობს JMP ბრძანებას მისამართზე 0000:7С00, ახორციელებს მას, გადასცემს კონტროლს IPL 2 პროგრამის დასაწყისში, რომელიც ამოწმებს არის თუ არა დანაყოფი ნამდვილად აქტიური: IPL 2 ამოწმებს ორი ფაილის სახელს და გაფართოებას root დირექტორიაში - ეს უნდა იყოს ფაილები IO.SYS და MSDOS.SYS (NTLDR Windows NT-ისთვის), იტვირთება ისინი და. და ა.შ.

Windows 9x ეფუძნება ბევრ იგივე კონცეფციას, როგორც DOS, მაგრამ ამ კონცეფციებს უფრო შორს და ლოგიკურად იღებს. იგივე ორი სისტემური ფაილი IO.SYS და MSDOS.SYS, მაგრამ ახლა მთელი სისტემის პროგრამა არის IO.SYS-ში, ხოლო მეორე ფაილი MSDOS.SYS შეიცავს ASCII ტექსტს პარამეტრებით, რომლებიც აკონტროლებენ სისტემის ქცევას ჩატვირთვისას. Himem.sys პროგრამების ეკვივალენტები. Ifshlp.sys და Setver.exe ავტომატურად იტვირთება IO.SYS პროგრამის მიერ სისტემის დაწყებისას. როგორც ადრე, შეგიძლიათ გამოიყენოთ Config.sys და Autoexec.bat ფაილები დრაივერების და რეზიდენტური პროგრამების მეხსიერებაში ჩასატვირთად, მაგრამ 32-ბიტიანი მოწყობილობის დრაივერები, რომლებიც შექმნილია სპეციალურად Windows 9x-ისთვის, ახლა იტვირთება სისტემის რეესტრში ჩანაწერებით. როდესაც ყველა წინასწარი სამუშაო შესრულდება, Win.com ფაილი იხსნება და Windows 9x ჩაიტვირთება და უზრუნველყოფს მის შესაძლებლობებს გრაფიკული მენიუს საშუალებით.

სისტემის რეესტრი არის მონაცემთა ბაზა, რომელშიც Windows 9x ინახავს ინფორმაციას ყველა პარამეტრის, კონფიგურაციის პარამეტრებისა და პარამეტრების შესახებ, რომლებიც აუცილებელია საკუთარი მოდულების და ინდივიდუალური აპლიკაციების მუშაობისთვის. სისტემის რეესტრი ასრულებს Config.sys, Autoexec.bat და Windows 3.1 ini ფაილების ფუნქციებს ერთად. თქვენი კომპიუტერის დისკზე რეესტრი ინახება ორ ცალკეულ ფაილში: System.dat და User.dat. პირველი მათგანი შეიცავს ყველა სახის ტექნიკის პარამეტრს, ხოლო მეორე შეიცავს მონაცემებს სისტემაში მომუშავე მომხმარებლებისა და მათ მიერ გამოყენებული კონფიგურაციების შესახებ. თითოეულ მომხმარებელს შეუძლია ჰქონდეს საკუთარი User.dat ფაილი, ე.ი. საკუთარი სამუშაო გარემო, რომელსაც ის აწყობს თავის გემოვნებასა და საჭიროებებს. სისტემის რეესტრის იმპორტი, ექსპორტი, ასევე შესაძლებელია სარეზერვო ასლების შექმნა და მათი გამოყენებით, შენახული მონაცემების აღდგენა - ერთი სიტყვით, ეს არის საკმაოდ ძლიერი მექანიზმი სისტემის პარამეტრების მართვისა და მათი დაკარგვისა და დაზიანებისგან დაცვისთვის.

ცხრილი 3. MBR კომპონენტები

რეგიონი

აღწერა

IPL პროგრამა 1 (ჩამტვირთავი პროგრამა იკავებს ტერიტორიას მისამართიდან 00h-დან 1BEh-მდე)

შეცდომის შეტყობინებების პროგრამის კოდი:

    დანაყოფის ცხრილი არასწორია (დანაყოფის ცხრილი არასწორია).

    შეცდომა ოპერაციული სისტემის ჩატვირთვისას (შეცდომა ოპერაციული სისტემის ჩატვირთვისას)

    ოპერაციული სისტემა აკლია (ოპერაციული სისტემა არ არის).

დანაყოფის ცხრილები (4 მწკრივი 16 ბაიტიანი = 64 ბაიტი) იკავებს ზონას 1BEh-დან 1FDh-მდე მისამართებიდან.

1 ხაზი (16 ბაიტი):

    ჩატვირთვის დროშა (80 სთ - აქტიური / 00 სთ - ნორმალური დანაყოფი) - 1 ბაიტი

    დანაყოფის საწყისი ფიზიკური სექტორი (თავი, სექტორი და ცილინდრი) - 3 ბაიტი

    დანაყოფის ტიპი -1 ბაიტი

    დანაყოფის ბოლო ფიზიკური სექტორი (თავი, სექტორი და ცილინდრი) - 3 ბაიტი

    განყოფილების წინა სექტორების რაოდენობა - 4 ბაიტი

    სექტორების საერთო რაოდენობა ამ განყოფილებაში არის 4 ბაიტი

ბოლო 2 ბაიტი სექტორის მონაცემთა ბლოკში 1FE-დან 1FF-მდე მისამართებიდან - დასრულებული ხელმოწერა

55AA - აღნიშნავს MBR-ის დასასრულს. შემოწმებულია bootloader პროგრამით

MBR-ის არეალი, რომელიც შეიცვალა FAT32-ში, არის დანაყოფის ცხრილი. ის, როგორც ადრე, შედგება ოთხი 16-ბაიტიანი ჩანაწერისგან. თითოეული ჩანაწერი განსაზღვრავს განყოფილებას. FAT32-მა გააცნო 2 ახალი ტიპის დანაყოფი DOS32 (0B) და DOS32X (OS).

ერთ-ერთი GPT ან MBR სტანდარტის არჩევა შეიძლება საკმაოდ მარტივი იყოს ახალი კომპიუტერის მფლობელისთვის დიდი მყარი დისკით და თანამედროვე UEFI ინტერფეისით.

ასეთი პარამეტრები მოითხოვს უფრო თანამედროვე სტანდარტზე გადასვლას.

მაშინ როდესაც, თუ თქვენ გაქვთ ერთზე მეტი კომპიუტერი, არჩევანი შეიძლება გაკეთდეს თითქმის მოძველებული MBR-ის სასარგებლოდ - და ეს შეიძლება აღმოჩნდეს ერთადერთი ვარიანტი.

შინაარსი:

რას ნიშნავს ეს აბრევიატურები?

ნებისმიერი მყარი დისკი ან მყარი დისკი უნდა დაიყოს ოპერაციული სისტემის, სისტემის და სხვა ინფორმაციის ჩასაწერად გამოყენებამდე.

MBR სტანდარტი, რომელიც დგას "ძირითადი ჩატვირთვის ჩანაწერი", წარმოადგენს მონაცემთა შენახვის ძველი გზა, GPT (ან "GUID Partition Table") ახალია.

ორივე მათგანი ასევე აუცილებელია თითოეული დანაყოფის დასაწყისისა და დასასრულის შესახებ ინფორმაციის შესანახად, რის წყალობითაც სისტემა ცნობს სექტორების მდებარეობას და განსაზღვრავს დისკის ეს ნაწილი ჩამტვირთველია თუ არა.

მიუხედავად იმისა, რომ MBR ითვლება საიმედო და მარტივ - და აღდგენა იშვიათად არის საჭირო.

სტანდარტის უარყოფითი მხარე მოიცავსდიდი რაოდენობის დანაყოფების მხარდაჭერის შეუძლებლობა მცირე ნაკლია 500 გბ-მდე ზომის HDD-ებისთვის, მაგრამ უკვე საკმაოდ სერიოზულია ტერაბაიტის ან თუნდაც 4 ტერაბაიტის მოდელებისთვის.

თუ საჭირო იყო 4-ზე მეტი დანაყოფის შექმნა, საჭირო იყო საკმაოდ რთული EBR ტექნოლოგიის გამოყენება.

მეორე პრობლემა, რომელიც დაკავშირებულია მყარი დისკების მოცულობის გაზრდასთან, არის 2.2 ტბ-ზე მეტი ტიხრებით მუშაობის შეუძლებლობა.

ახალი სტანდარტის უპირატესობები და უარყოფითი მხარეები

გაუმჯობესებული GPT სტანდარტი, რომელიც თანდათან ცვლის MBR-ს, არის UEFI ტექნოლოგიის ნაწილი, რომელიც, თავის მხრივ, ცვლის მოძველებულ BIOS ინტერფეისს.

თითოეულ განყოფილებას აქვს საკუთარი უნიკალური იდენტიფიკატორი- პერსონაჟების ძალიან გრძელი სტრიქონი. GPT-ის უპირატესობა მოძველებულ სტანდარტთან შედარებით შეიძლება ეწოდოს:

  • არანაირი შეზღუდვა განყოფილების მოცულობაზე.უფრო ზუსტად, მაქსიმალური მნიშვნელობა ჯერ კიდევ არსებობს - მაგრამ მისი მიღწევა შეუძლებელი იქნება რამდენიმე ათწლეულში ადრე;
  • სექციების შეუზღუდავი რაოდენობა– ზოგადად 264-მდე, Windows OS-ისთვის 128-მდე.

დისკზე, რომელიც მხარს უჭერს MBR სტანდარტს, დანაყოფი და ჩატვირთვის მონაცემები განლაგებულია იმავე ადგილას. თუ დისკის ეს ნაწილი დაზიანებულია, კომპიუტერის მომხმარებელი უამრავ პრობლემას აწყდება.

კიდევ ერთი განსხვავება GPT-ს შორის არის ციკლური ჭარბი კოდის შენახვა, რომელიც საშუალებას გაძლევთ გააკონტროლოთ მონაცემთა უსაფრთხოება.

ინფორმაციის დაზიანება იწვევს მისი აღდგენის დაუყოვნებლივ მცდელობას.

MBR-ის გამოყენებისას თქვენ შეგიძლიათ გაიგოთ პრობლემის შესახებ მას შემდეგ, რაც სისტემა შეწყვეტს ჩატვირთვას და მისი დანაყოფები გაქრება.

სტანდარტის მინუსებს შორის აღსანიშნავია წინა ტექნოლოგიების მხარდაჭერის ნაკლებობა - . და, მიუხედავად იმისა, რომ მოძველებული ინტერფეისის მქონე ოპერაციული სისტემა აღიარებს მას, მისი ჩატვირთვის ალბათობა მინიმალურია. გარდა ამისა, ამ პარამეტრის გამოყენებისას, თქვენ არ შეგიძლიათ დაასახელოთ ყველა დისკი, ისევე როგორც დანაყოფები და მონაცემთა აღდგენა ყოველთვის არ არის ხელმისაწვდომი დუბლიკატი ცხრილების რაოდენობისა და ადგილმდებარეობის შეზღუდვის გამო.

თავსებადობა

მხოლოდ MBR ტექნოლოგიების გამოყენებით GPT დისკის კონფიგურაციის მცდელობა ვერსად მიგიყვანთ– ამრიგად, ძირითადი ჩატვირთვის ჩანაწერის დამცავი ვერსია ხელს უშლის შემთხვევით გადაწერას და დაყოფას ძველი სტანდარტის მიხედვით.

Windows სისტემები ჩაიტვირთება GPT ტექნოლოგიის გამოყენებით მონიშნული დისკებიდან მხოლოდ მოწყობილობებზე, რომლებიც მხარს უჭერენ UEFI ინტერფეისს - ანუ ლეპტოპებსა და კომპიუტერებზე Windows Vista-დან 10-მდე.

თუ დედაპლატის firmware შეიცავს, დანაყოფები წაიკითხება, მაგრამ ჩატვირთვა, სავარაუდოდ, არ მოხდება.

მიუხედავად იმისა, რომ იგივე ოპერაციულ სისტემებს შეუძლიათ იმუშაონ GPT დისკებთან, როგორც ინფორმაციის შესანახად.

თქვენ უნდა იცოდეთ: GPT სტანდარტს ასევე მხარს უჭერს სხვა ოპერაციული სისტემები, მათ შორის Linux. ხოლო Apple-ის კომპიუტერებზე ამ ტექნოლოგიამ შეცვალა ძველი APT დანაყოფის ცხრილი.


სტანდარტების შედარება

ორ სტანდარტს შორის მსგავსებისა და განსხვავებების შესაფასებლად, მათი ოპერაციული შესაძლებლობები, დისკები და ჩატვირთვის ინტერფეისი, ღირს მცირე შედარების ცხრილის შექმნა.

ეს ბევრად აადვილებს გადაწყვეტილების მიღებას რა დანაყოფის სტანდარტი გამოიყენოთ თქვენი კომპიუტერისთვის.

მაგიდა 1. MBR და GPT-ის შედარებითი მახასიათებლები
სტანდარტული MBR GPT
firmware-თან მუშაობა BIOS-ით და UEFI-ითმხოლოდ UEFI-ით
Windows მხარდაჭერა ყველა ვერსია, პირველიდან დაწყებულიWindows 7-ისა და Vista-ს მხოლოდ 64-ბიტიანი ვერსიები, Windows 8 და 10-ის ყველა ვარიანტი
Წაიკითხე და დაწერე ნებისმიერი პლატფორმაყველა Windows ოპერაციული სისტემა Vista-დან და უფრო მაღალი + XP Professional 64-bit
დანაყოფების რაოდენობა ერთ დისკზე არაუმეტეს 4264-მდე
დანაყოფის მაქსიმალური ზომა 2.2 ტბ9.4 x 109 ტბ
ჩამონტაჟებული მულტი-ბუტერი Არდამსწრეჭამე

ახალ სტანდარტთან მუშაობის პრობლემები და მათი გადაწყვეტილებები

ორი სტანდარტის არსებობამ შეიძლება გამოიწვიოს გარკვეული პრობლემები. მით უმეტეს, თუ კომპიუტერი არ იძლევა რაიმე სხვა მეთოდით ჩატვირთვას, გარდა მყარი დისკის გამოყენებისა.

სიტუაციის გამოსწორება შესაძლებელია გადაადგილებით, რაც არ იძლევა ახალ სტანდარტთან მუშაობის საშუალებას - და როდესაც თქვენ ცდილობთ ჩატვირთვას, ეკრანზე გამოჩნდება შეცდომა, რომელიც მიუთითებს GPT დანაყოფის სტილის არსებობაზე.

პრობლემის მოგვარება არც ისე რთულია - ამისათვის დაგჭირდებათ ჩვეულებრივი ჩატვირთვის დისკის აღება Windows OS-ით და გააკეთეთ შემდეგი:

  • დაიწყეთ ჩატვირთვა დისკიდან;
  • მიდი იქ სანამ განყოფილება არ შეირჩევა, სადაც პრობლემა ჩნდება;
  • კონსოლის გაშვება(ერთდროულად დააჭირეთ Shift და F10);
  • Დაიწყესპეციალური უტილიტით ბრძანების diskpart შეყვანით.

პროგრამის გაშვების შემდეგ თქვენ უნდა აკრიფოთ „list disk“, რაც გამოიწვევს ეკრანზე დანომრილი დისკების სიას.

ახლა თქვენ უბრალოდ უნდა შეიყვანოთ "სუფთა" ბრძანების ხაზზე, გაასუფთავოთ არასაჭირო ინფორმაცია და გააგრძელოთ სტანდარტების კონვერტაცია.

იმისათვის, რომ GPT დისკი მოძველებულ ფორმატში გადაიზარდოს, უნდა შეიყვანოთ convert mbr ბრძანება, რომელიც საშუალებას გაძლევთ იმუშაოთ დისკთან და დააინსტალიროთ მასზე ნებისმიერი პლატფორმა.

იგივე პროგრამა უზრუნველყოფს ტიხრებთან მუშაობას.

მაგალითად, ბრძანების შეყვანა "დანაყოფის პირველადი ზომის შექმნა=X"ქმნის X GB ზომის დანაყოფს, "ფორმატი fs=ntfs label="სისტემა" სწრაფი"ასრულებს ფორმატირებას NTFS-ზე და "active" საშუალებას აძლევს დანაყოფი გახდეს აქტიური.

დასკვნები

როდესაც გადაწყვეტთ რომელი სტანდარტის გამოყენებას, GPT თუ MBR, უნდა განსაზღვროთ ჩატვირთვის რომელი ინტერფეისი გამოიყენება და რა ზომის მყარი დისკია კომპიუტერზე.

თუ თქვენ გაქვთ BIOS firmware, GPT-თან მუშაობა შეუძლებელი იქნება. უფრო თანამედროვე კომპიუტერისთვის, რომელიც აღჭურვილია, პირიქით, არ უნდა აირჩიოთ MBR.

ბოლო წლებში გამოშვებულ შედარებით ახალ დედაპლატებს უკვე აქვთ დაყენებული UEFI ინტერფეისი, რაც იმას ნიშნავს, რომ GPT-თან არანაირი პრობლემა არ იქნება.

თუმცა, დისკის ზომები ოდნავ გაიზარდოს– რამდენიმე მყიდველი ირჩევს კომპიუტერებს 2 ტბ-ზე დიდი HDD-ით და, მეტიც, სჭირდება 2.2 ტერაბაიტის ტიხრები.

Ამის გამო საშუალო მომხმარებლისთვის ამ სტანდარტის არჩევის განსაკუთრებული მიზეზები ჯერ არ არსებობს– მაგრამ სერვერისთვის ეს იქნება შესანიშნავი ვარიანტი.

ვიდეო: