জিপিআর্ট সত্যিই অবিরত ডিস্কের স্থান তৈরি করে নি। পরিবর্তে এমবিআর বোগাস পেয়েছে। কোর স্টোরেজ এলভিজি এবং পরবর্তী সমস্ত পাত্রেও দুর্নীতি হয়েছে, কারণ পুরো স্ট্যাকটি প্রয়োজনীয় হিসাবে পুনরায় আকার দেওয়া হয়নি। সাধারণত - ম্যাকোজে - পুরো স্ট্যাকটি কমান্ড দিয়ে পুনরায় আকার দেওয়া হয় diskutil cs resizeStack ...
। আমি যতদূর দূরবর্তী থেকে বলতে পারি, দ্বিতীয় বিভাজনের শেষ সীমানাটি কেবল নিম্ন ব্লকের সংখ্যায় সরিয়ে নেওয়া হয়েছিল যা সাধারণত জিপিআর্টে সাধারণ এইচএফএস + ভলিউমের সাথে কাজ করে তবে এই ক্ষেত্রে কোরস্টোরেজ স্ট্যাকের সাথে নয়। ভাগ্যক্রমে সিএস স্ট্যাকের কিছু অদৃশ্য ডেটা স্ট্রাকচার ওভাররাইট করা হয়নি।
অতিরিক্তভাবে পুনরুদ্ধারের পার্টিশনটি সঠিকভাবে সরানো হয়নি। তবে এটি একটি ভিন্ন সমস্যা।
এমবিআরের পরিবর্তে আপনার একটি পিএমবিআর থাকা উচিত। বোগাস এমবিআর অপসারণের পরে আপনাকে জিইউডি পার্টিশন টেবিলটি নষ্ট করে আবার তৈরি করতে হবে:
- ইন্টারনেট রিকভারি মোডে বুট করুন
- মেনুবার ইউটিলিটিস -> টার্মিনালে টার্মিনাল খুলুন
একটি ওভারভিউ পান (বিশেষত জিপিটি কমান্ড গুরুত্বপূর্ণ!):
diskutil list
gpt -r show disk0
আনমাউন্ট ডিস্ক 0:
diskutil umountDisk /dev/disk0
এমবিআর মুছুন:
dd if=/dev/zero of=/dev/disk0 bs=512 count=1
জিইউডি পার্টিশন টেবিলটি ধ্বংস করুন এবং একটি নতুন তৈরি করুন (এটি একটি নতুন পিএমবিআর তৈরি করে):
gpt destroy disk0
gpt create -f disk0
পূর্ববর্তী সমস্ত GID পার্টিশনগুলি পুনর্নির্মাণ করুন:
gpt add -i 1 -b 40 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
gpt add -i 3 -b 488965176 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
gpt add -i 2 -b 409640 -s 409602008 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
যদি আপনি কোনও পদক্ষেপের পরে কোনও উত্স ব্যস্ত ত্রুটি পেয়ে থাকেন তবে কেবল ডিস্কে আনমাউন্ট করুন
diskutil umountDisk /dev/disk0
diskutil verifyDisk disk0
এরপরে ডিস্কটি পরীক্ষা করে দেখুন ।
diskutil cs list
চারটি কোর স্টোরেজ পাত্রে উপস্থিত রয়েছে কিনা তা প্রবেশ করুন এবং দেখুন: একটি লজিকাল ভলিউম গ্রুপ, একটি শারীরিক ভলিউম এবং লজিকাল ভলিউম পরিবার এবং একটি লজিকাল ভলিউম।
লজিকাল ভলিউমের ইউআইডি সহ এলভি মাউন্ট করুন:
উদাহরণ:
+-> Logical Volume 9A7B21AA-F9FE-4E65-8C7E-ED2A73744C15
---------------------------------------------------
Disk: disk17
Status: Online
তারপরে ব্যবহার করুন:
diskutil mount 9A7B21AA-F9FE-4E65-8C7E-ED2A73744C15
তারপরে মাউন্ট করা এলভি এর ডিস্ক সনাক্তকারী পাওয়ার পরে diskutil list
ভলিউম যাচাই করুন:
diskutil verifyVolume disk17 # probably it's disk17, disk16 or disk18
আমি ধরে নিছি ডিস্ক সনাক্তকারীটি ডিস্ক 17
যদি লজিকাল ভলিউম পরিবার এবং লজিকাল ভলিউম উপস্থিত না হয় তবে নিম্নলিখিত চেষ্টা করে দেখুন:
- ইন্টারনেট রিকভারি মোডে বুট করুন
- মেনুবার ইউটিলিটিস -> টার্মিনালে টার্মিনাল খুলুন
একটি ওভারভিউ পান (বিশেষত জিপিটি কমান্ড গুরুত্বপূর্ণ!):
diskutil list
gpt -r show disk0
আনমাউন্ট ডিস্ক 0:
diskutil umountDisk /dev/disk0
দ্বিতীয় পার্টিশনের জন্য বর্তমান পার্টিশন এন্ট্রি সরান:
gpt remove -i 2 disk0
একটি নতুন "প্রসারিত" দ্বিতীয় পার্টিশন এন্ট্রি যুক্ত করুন:
gpt add -i 2 -b 409640 -s 488555536 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
তারপরে সমস্ত যাচাইকরণের পদক্ষেপগুলি পুনরাবৃত্তি করুন:
diskutil verifyDisk disk0
এরপরে ডিস্কটি পরীক্ষা করে দেখুন ।
diskutil cs list
চারটি কোর স্টোরেজ পাত্রে উপস্থিত রয়েছে কিনা তা প্রবেশ করুন এবং দেখুন: একটি লজিকাল ভলিউম গ্রুপ, একটি শারীরিক ভলিউম এবং লজিকাল ভলিউম পরিবার এবং একটি লজিকাল ভলিউম।
লজিকাল ভলিউমের ইউআইডি সহ এলভি মাউন্ট করুন:
উদাহরণ:
+-> Logical Volume 9A7B21AA-F9FE-4E65-8C7E-ED2A73744C15
---------------------------------------------------
Disk: disk17
Status: Online
তারপরে ব্যবহার করুন:
diskutil mount 9A7B21AA-F9FE-4E65-8C7E-ED2A73744C15
তারপরে মাউন্ট করা এলভি এর ডিস্ক সনাক্তকারী পাওয়ার পরে diskutil list
ভলিউম যাচাই করুন:
diskutil verifyVolume disk17 # probably it's disk16, disk17 or disk18
যদি আপনি ত্রুটিগুলি ডেটা বা পুরো পার্টিশনটিকে কোনও বাহ্যিক ভলিউমে ব্যাকআপ করে থাকেন তবে এর সাথে ভলিউমটি মেরামত করুন diskutil repairVolume disk17
।
ডেটা ব্যাকআপ করার একটি সম্ভাবনা dd
। কমপক্ষে 250 গিগাবাইট ফ্রি স্পেস সহ একটি এইচএফএস + ফর্ম্যাটড ড্রাইভ সংযুক্ত করুন। এর সাথে বাহ্যিক ভলিউমের দিকে পাথ পান ls /Volumes
। তারপর disk17 এবং disk0 আন-মাউন্ট করা diskutil umountDisk disk17
এবং diskutil umountDisk disk0
।
তারপরে একটি ফাইলে পার্টিশনটি ক্লোন করুন:
dd if=/dev/disk0s2 of=/Volumes/ExternalDriveName/disk0s2.rawdevice bs=4m
ভলিউম নামব্যবধান থাকে, ব্যাকস্ল্যাশ সঙ্গে স্পেস অব্যাহতি: ...of=/Volumes/ExternalDriveName\ With\ Spaces/disk0s2.rawdevice...
।
আপনি asr
অন্য ডিস্কে পার্টিশনটি পুনরুদ্ধার করতেও (অস্থায়ী "ব্যাকআপ" হিসাবে) ব্যবহার করতে পারেন। চেক man asr
।