Fdsik_partition_scheme হিসাবে প্রদর্শিত ম্যাক হার্ড ড্রাইভ পার্টিশনটি কীভাবে ঠিক করবেন


8

আমার পরিস্থিতি এমবিআর-তে দুর্গন্ধযুক্ত জিআইডি হার্ড ড্রাইভ কীভাবে ঠিক করা যায় তার সাথে অনেকটা মিল তবে যথেষ্ট পার্থক্যের সাথে আমি একটি আত্মবিশ্বাসী সমাধান একসাথে রাখতে সক্ষম হইনি।

আমার কাছে একটি ইউএসবি ঘেরে একটি 3 টিবি তোশিবা ড্রাইভ রয়েছে যা ম্যাকে ওএস এক্স এল ক্যাপিটেন 10.11.3 সহ ব্যবহৃত হচ্ছে।

একক পার্টিশন দিয়ে ড্রাইভটি সেট আপ করা হয়েছিল। ড্রাইভটি বুটযোগ্য ছিল না এবং এটিতে কোনও সিস্টেম ইনস্টল করা নেই তাই আমি ধরে নিচ্ছি এটির পুনরুদ্ধারের পার্টিশনটিও হবে না। আমি এটি নিশ্চিত করে বলতে পারি না এটিতে কখনও কোনও সিস্টেম ইনস্টল করা হয়নি, তবে আমি এটি মনে করি না। এটি বুটক্যাম্প বা কোনও নন-ম্যাক কম্পিউটারে ব্যবহার করা হয়নি।

ড্রাইভটি দীর্ঘ সময় ধরে স্বাভাবিকভাবে কাজ করে তবে তা সম্প্রতি সনাক্ত করা যায়নি। ডিস্ক ইউটিলিটি সহ তদন্ত করার সময় এটি এফডিস্ক_ পার্টিশন_স্কেমের পার্টিশন ধরণের বলে দেখায় । আমি নিশ্চিত যে এটি মূলত জিইউইডি পার্টিশন ম্যাপের সাধারণ ডিফল্টটি ওএস এক্স এক্সটেন্ডেড (জার্নলড) হিসাবে ফর্ম্যাট হয়েছিল ।

পরিবর্তনের কারণ হতে পারে এমন কোনও নির্দিষ্ট ব্যবহার বা ইভেন্টের কথা আমি ভাবতে পারি না।

ড্রাইভ থেকে সংগ্রহ করা তথ্য এখানে।

ডিস্কুটিল তালিকা / দেব / ডিস্ক 6

/dev/disk6 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *3.0 TB     disk6
   1:                       0xEE                         375.1 GB   disk6s1

diskutil তথ্য / দেব / ডিস্ক 6

   Device Identifier:        disk6
   Device Node:              /dev/disk6
   Whole:                    Yes
   Part of Whole:            disk6
   Device / Media Name:      DT01ABA300

   Volume Name:              Not applicable (no file system)

   Mounted:                  Not applicable (no file system)

   File System:              None

   Content (IOContent):      FDisk_partition_scheme
   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 USB
   SMART Status:             Not Supported

   Total Size:               3.0 TB (3000592982016 Bytes) (exactly 5860533168 512-Byte-Units)
   Volume Free Space:        Not applicable (no file system)
   Device Block Size:        512 Bytes

   Read-Only Media:          No
   Read-Only Volume:         Not applicable (no file system)

   Device Location:          External
   Removable Media:          No

   Virtual:                  No
   OS 9 Drivers:             No
   Low Level Format:         Not supported

fdisk / dev / disk6

Disk: /dev/disk6    geometry: 97451/255/63 [1565565872 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE 1023 254  63 - 1023 254  63 [         1 -  732566645] <Unknown ID>
 2: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused

জিপিপি পুনরুদ্ধার / দেব / ডিস্ক 6 6

gpt recover: /dev/disk6: no primary or secondary GPT headers, can't recover

gpt -r -vv শো / দেব / ডিস্ক 6

gpt show: /dev/disk6: mediasize=3000592982016; sectorsize=512; blocks=5860533168
gpt show: /dev/disk6: PMBR at sector 0
       start        size  index  contents
           0           1         PMBR
           1  5860533167

gdisk / dev / disk6

GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries.

এখানে ডাব্লুএক্সএইচএক্সএইডিটরে ড্রাইভের প্রথম অংশের একটি স্ক্রিন শট রয়েছে। EFI পার্ট 4096 এ শুরু হয়।

ডাব্লুএক্সএক্সএক্সএক্সএডিটরে ড্রাইভের সূচনা

অন্যান্য উত্তরগুলিতে প্রস্তাবিত হিসাবে আমি 409642 এর অফসেটে শুরু করে এইচএফএসজে স্ট্রিংটি সন্ধান করতে শুরু করেছি, তবে এটির কাছাকাছি খুঁজে পাইনি। সুতরাং আমি ড্রাইভের শুরু থেকে শুরু করে অনুসন্ধান করেছি এবং প্রথম ঘটনাটি 314598400 অফসেটে পেয়েছি।

তবে, আমি যদি এইচএফএসজে-র ঘটনাগুলি অনুসন্ধান করতে থাকি তবে আমি তাদের মধ্যে অনেকগুলি দেখতে পাই যা দেখতে একই রকম এবং তাদের চারপাশে প্রচুর শূন্যস্থান রয়েছে যেমন প্রথমটির মতো। এগুলি 360424448 এ শুরু হয় এবং 32768 ব্যবধানে পৃথক হয়। উদাহরণস্বরূপ, অফসেটগুলিতে 360424448 360457216 360489984 360522752 360555520

আমি ডাব্লুএক্সএক্সএক্সএক্সএডিটরে সমস্ত অনুসন্ধান সন্ধান করেছি এবং কয়েক মিনিট পরে থামলাম। এটি এই মুহুর্তে কয়েক হাজার পেয়েছিল। আমি নিশ্চিত না যে এগুলি কী তৈরি করা উচিত, যদি কিছু থাকে।

আমি 3000592961536 অফসেটে ইএফআই সিস্টেম পার্টিশন লেবেলযুক্ত একটি বিভাগও খুঁজে পেতে সক্ষম হয়েছি That এটি ড্রাইভের নামটিও দেখায় যে, "রোজি"।

এখানে প্রথম এইচএফএসজে পার্টিশনের স্ক্রিন শট এবং ইএফআই সিস্টেম পার্টিশন রয়েছে। মন্তব্যের ভিত্তিতে অফসেট 8192 এর একটি স্ক্রিন শট যুক্ত করা হয়েছে।

প্রথম এইচএফএসজে পার্টিশন, শেষে এএফআই পার্টিশন, এবং অফসেট 8192।

কোন সাহায্যের জন্য ধন্যবাদ।


যদি উপস্থিত হয় তবে আপনার ডিস্কের ব্লক আকার 4096 বাইট এবং এখন 512 বাইটের আকার রয়েছে। যেহেতু ব্লকের আকারটি নিজেই ডিস্কে সংরক্ষণ করা হয় না, আমার প্রশ্নটি হ'ল: আপনি কোনওভাবেই হার্ডওয়্যারটি পরিবর্তন করেছেন? এছাড়াও, যদি ব্লকের আকার 4096 বাইট হয়, তবে আপনি 8192 বাইট থেকে শুরু করে পুরানো জিপিটি টেবিল এন্ট্রি পড়তে সক্ষম হবেন। এখন পর্যন্ত, আপনি কেবল জিপিটি শিরোনাম পোস্ট করেছেন 4096 বাইট থেকে শুরু করে। এখানে প্রদত্ত তথ্য ব্যবহার করে হেক্স ডাম্পকে সঠিক দশমিক মানগুলিতে রূপান্তর করা যেতে পারে ।
ডেভিড অ্যান্ডারসন

@ ডেভিডএন্ডারসন, ড্রাইভটি একটি ভিন্ন ইউএসবি ক্ষেত্রে রয়েছে বলে হার্ডওয়্যারটিতে পরিবর্তন এসেছে। যদি কিছু সাহায্য করে তবে আমি আসল কেসটি পেতে পারি।
ডগ স্মিথ

@ ডেভিডএন্ডারসন আমি স্ক্রিনশটটি পরিবর্তিত করে অফসেট 8192 এর জন্য একটি যোগ করতে পেরেছি It এটি সেখানে একটি EFI সিস্টেম পার্টিশন দেখায় ।
ডগ স্মিথ

@ ক্লোনামথ হ্যাঁ, আপনার লিঙ্ক করা উত্তরটি সঠিক ছিল। আমি ব্লক এবং অফসেট মিশ্রিত। যদিও এটি অফসেট 209736704 এর চারপাশে সমস্ত শূন্য রয়েছে। 4096 টি ব্লক আকারের সমস্যা থাকলে 8 (26217088) দ্বারা ভাগ করার চেষ্টাও করেছি। এটি আমাকে প্রচুর ডেটাতে রাখে তবে কোনও এইচএফএসজে স্ট্রিং চোখে পড়ে না।
ডগ স্মিথ

ক্লোনামথ, আমি আপনার প্রক্রিয়াটি শুরু করেছিলাম। প্রথম 40 টি ব্লকের ওভাররাইট করার আমার প্রচেষ্টা আসলে কোনও ডেটা 0+0 records in 0+0 records out 0 bytes transferred in 0.000013 secs (0 bytes/sec)
ডগ স্মিথ

উত্তর:


9

নিম্নলিখিত চেষ্টা করুন:

  • আপনার বাহ্যিক 3 টিবি ড্রাইভের ডিস্ক সনাক্তকারী পান Get

    diskutil list
    

    আমি ধরে নিলাম ডিস্ক আইডেন্টিফায়ারটি ডিস্ক 6

  • ডিস্ক আনমাউন্ট করুন:

    diskutil umountDisk disk6
    
  • প্রথম 40 টি ব্লক ওভাররাইট করুন:

    sudo dd if=/dev/zero of=/dev/disk6 bs=512 count=40
    
  • একটি নতুন জিপিটি তৈরি করুন:

    sudo gpt create /dev/disk6
    
  • এর সাথে ডিস্কের তথ্য পরীক্ষা করুন:

    diskutil info /dev/disk6
    

    নিজেকে নিশ্চিত করুন যে ডিভাইস ব্লকের আকার এখনও 512 বাইট

    আপনি ব্যবহার করতে পারেন

    sudo gpt -r show /dev/disk6
    

    জিপিটি যদি দেখায়:

       start        size  index  contents
           0           1         PMBR
           1           1         Pri GPT header
           2          32         Pri GPT table
    

    আপনার কাছে একটি ডিস্ক এবং ডিস্ক নিয়ামক রয়েছে যা 512 বাইটের লজিক্যাল ব্লক আকারের প্রতিবেদন করে। দয়া করে পরবর্তী পদক্ষেপ সহ চালিয়ে যান।

    জিপিটি যদি দেখায়:

       start        size  index  contents
           0           1         PMBR
           1           1         Pri GPT header
           2           4         Pri GPT table
    

    আপনার কাছে একটি ডিস্ক এবং ডিস্ক নিয়ামক রয়েছে যা 4096 বাইটের লজিক্যাল ব্লক আকারের প্রতিবেদন করে। এখানে থামুন এবং একটি মন্তব্য যুক্ত করুন।

  • প্রথমে ইএফআই এন্ট্রিটি পুনরায় তৈরি করুন:

    sudo gpt add -b 40 -i 1 -s 614400 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk6
    

    ডিস্কের আকার এবং সিস্টেম সংস্করণের উপর নির্ভর করে ডিস্ক ইউটিলিটির সাথে পার্টিশন করা থাকলে বিভিন্ন আকারের EFI ভলিউম তৈরি করা হয়: হয় 200 মাইবি আকারের একটি বা 300 মাইবিযুক্ত একটি। এখানে এটি স্পষ্ট যে আপনার ডিস্কে একটি 300 এমআইবি ইএফআই এবং সম্ভবত 4096 বাইট অব্যাহত ডিস্কের স্থান রয়েছে: (314598400-1024) / 512 = 614448 (= ব্লক মূল ভলিউম শুরু করুন) 614448-40-8 = 614400 (= EFI এর আকার)

  • এর সাথে আপনার মূল ভলিউমটি পুনর্নির্মাণ করুন:

    sudo gpt add -b 614448 -i 2 -s SizeOfVolume1 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk6
    

    মূল ভলিউমের আকারটি দ্বিতীয় জিপিটি সারণির প্রথম (দূষিত এবং পুরানো) এন্ট্রি দ্বারা নির্ধারণ করা যেতে পারে: (3000592961536/512) = 5860533128 এটির ব্লক নম্বর। তারপরে আকারটি 5860533128-614448 = 5859918680 ব্লক দ্বারা গণনা করা হয়। যেহেতু 5859918680 8 দ্বারা বিভাজ্য (4096 শারীরিক ব্লকের আকার / 512 লজিকাল ব্লক আকার) এটি ভলিউম আকারের জন্য একটি ভাল অনুমান।

    সর্বোত্তম অনুমানটি অবশেষে:

    sudo gpt add -b 614448 -i 2 -s 5859918680 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk6
    

    দ্বিতীয় সেরা অনুমানটি হ'ল:

    sudo gpt add -b 614448 -i 2 -s 5859918672 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk6
    
  • সম্ভবত আপনার হারানো ভলিউম এখন মাউন্ট হয়ে যায়। এর সাথে ভলিউম যাচাই করুন:

    diskutil verifyVolume disk6s2
    

    প্রয়োজনে ভলিউমটি মেরামত করার চেষ্টা করুন।

    diskutil repairVolume disk6s2
    

যেহেতু আপনি "দূষিত" ডিস্কটিকে অন্য কোনও ক্ষেত্রে সরিয়ে নিয়েছেন এবং ডিস্ক নিয়ামককে লজিক্যাল ব্লকের আকার পরিবর্তন করা হয়েছিল। পুরানো পার্টিশন মানচিত্রটি সম্ভবত 4096 বাইটের লজিক্যাল ব্লকের আকারের উপর ভিত্তি করে।

পুরানো (4096 বি) ক্ষেত্রে পার্টিশন মানচিত্রটি পুনরুদ্ধার করতে আপনাকে জিপিটি পুনরুদ্ধার করতে নিম্নলিখিতটি প্রবেশ করতে হবে (ডেভিড অ্যান্ডারসনের উত্তরের ভিত্তিতে):

  • একটি নতুন জিপিটি তৈরি করুন:

    sudo gpt create /dev/disk6
    
  • প্রথমে ইএফআই এন্ট্রিটি পুনরায় তৈরি করুন:

    sudo gpt add -b 6 -i 1 -s 76800 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk6
    
  • এর সাথে আপনার মূল ভলিউমটি পুনর্নির্মাণ করুন:

    sudo gpt add -b 76806 -i 2 -s 732457067 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk6
    
  • চূড়ান্ত পার্টিশন মানচিত্রটি এর মতো দেখাচ্ছে:

     sudo gpt -r show disk1
           start        size  index  contents
               0           1         PMBR
               1           1         Pri GPT header
               2           4         Pri GPT table
               6       76800      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
           76806   732457067      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
       732533873       32768         
       732566641           4         Sec GPT table
       732566645           1         Sec GPT header
    

4096b অংশের উপর ভিত্তি করে 512b লজিকাল ব্লক আকারের ক্ষেত্রে ডিস্ক ইনস্টল করার পরে এই "retranslats":

  • একটি নতুন জিপিটি তৈরি করুন:

    sudo gpt create /dev/disk6
    
  • প্রথমে ইএফআই এন্ট্রিটি পুনরায় তৈরি করুন:

    sudo gpt add -b 48 -i 1 -s 614400 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk6
    
  • এর সাথে আপনার মূল ভলিউমটি পুনর্নির্মাণ করুন:

    sudo gpt add -b 614448 -i 2 -s 5859656536 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk6
    

এটি আমার উত্তরের প্রথম (স্বীকৃত) অংশ থেকে আলাদা তবে এটি যথাযথ! যেহেতু EFI আসলে "খালি" এবং 262144 অবিকৃত ব্লকগুলিতে কেবল শূন্য থাকে, তাই "প্রথম এবং কোনওভাবে ভুল" উত্তরটি ভলিউমের পরিচালনাকে প্রভাবিত করে না।


2

এটি কোনও উত্তর নয়, বরং আপনি উপস্থাপিত ডেটা থেকে কীভাবে জিপিটি পার্টিশন তথ্য বের করবেন তার একটি উদাহরণ। মাধ্যমিক (ব্যাকআপ) জিপিটি পার্টিশন এন্ট্রি ব্যবহার করা হয়েছিল কারণ আপনি প্রাথমিক জিপিটি পার্টিশন এন্ট্রির বিষয়বস্তু পোস্ট করেন নি। " জিইউইডি পার্টিশন টেবিল " নথিটি ডেটা ব্যাখ্যার জন্য ব্যবহৃত হয়েছিল।

শেষ ব্যবহারযোগ্য এলবিএ জিপিটি শিরোনামে পাওয়া যাবে। এটি 8244 ঠিকানায় ঘটে The মানটি

70 14 aa 2b 00 00 00 00 little endian = 0x2baa1470 = 732566640 @ 4096 bytes/block.

মাধ্যমিক (ব্যাকআপ) জিপিটি এন্ট্রিগুলির শুরুটি পরবর্তী ব্লকে শুরু হবে। মান হয়

(732566640 + 1) * 4096 = 3000592961536 bytes.  

EFI পার্টিশন সারণি প্রবেশের সূচনা হিসাবে এটি ব্যবহার করে, আমি নিম্নলিখিত মানগুলি পাই। 3000592961568 ঠিকানায় পাওয়া EFI পার্টিশনের শুরু

06 00 00 00 00 00 00 00 little endian = 0x6 = 6 @ 4096 bytes/block.

3000592961576 ঠিকানায় পাওয়া EFI পার্টিশনের সমাপ্তি

05 2c 01 00 00 00 00 00 little endian = 0x12c05 = 76805 @ 4096 bytes/block.

যা একটি পার্টিশন আকার দেয়

76805 - 6 + 1 = 76800 @ 4096 bytes/block.

এইচএফএস বিভাজনের সূচনা, 300059296161696 ঠিকানায় পাওয়া গেছে is

06 2c 01 00 00 00 00 00 little endian = 0x12c06 = 76806 @ 4096 bytes/block.

এইচএফএস বিভাজনের শেষ, 300059296161704 ঠিকানায় পাওয়া গেছে

70 94 a9 2b 00 00 00 00 little endian = 0x2ba99470 = 732533872 @ 4096 bytes/block.

যা একটি পার্টিশন আকার দেয়

732533872 - 76806 + 1 = 732457067 @ 4096 bytes / block.

আপনি যদি 512 বাইটের একটি ব্লক আকার ব্যবহার করতে চলেছেন তবে উপরের ফলাফলগুলি 5 টি বাইট / ব্লকে রূপান্তর করতে 8 এর মান দ্বারা গুণিত করতে হবে।


+1 আমরা EFI এর জন্য অভিন্ন আকার এবং প্রারম্ভিক ব্লক এবং অভিন্ন সূচনা ব্লক পাই তবে মূল ভলিউমের ভিন্ন আকার পাই।
ক্লোনামথ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.