পার্টিশনের সংখ্যাটি sda1 থেকে sda2 এ পরিবর্তন করুন


20

আমার দুটি পার্টিশন সহ একটি ডিস্ক রয়েছে: এসডিএ 1 এবং এসডিএ 2। আমি sda1 এর সংখ্যাটি এসডিএ 2 এবং এসডিএ 2-কে এসডিএ-তে পরিবর্তন করতে চাই।

এটা সম্ভব তবে আমি পদ্ধতিটি মনে করি না। যেমন আমার প্রথম পার্টিশনটি sda2 এবং দ্বিতীয় sda1 হবে, সুতরাং আমার একটি ম্যানুয়াল ক্রম নির্দিষ্ট করা দরকার, fdisk -> x -> f এর মতো কোনও স্বয়ংক্রিয় ক্রম নয়।

আমি অর্ডারটি কীভাবে পরিবর্তন করব? ম্যানুয়াল বা টিউটোরিয়ালের লিঙ্কগুলিও দরকারী।

ধন্যবাদ।

কারণ: আমার কাছে একটি অ্যাপ্লিকেশন রয়েছে যা এসডিএ 1 থেকে ডেটা পড়ার প্রয়োজন তবে ডেটা এসডিএ 2 এ রয়েছে। পার্টিশন টেবিল পরিবর্তন হ'ল এই সমস্যাটির দ্রুত সমাধান। সিস্টেমটি সমালোচনামূলক নয় তবে আমি খুব বেশি সময় সিস্টেমটি থামাতে চাই না।

আপডেট : ওপেনবিএসডি এর fdisk সংস্করণে সেই কার্যকারিতা অন্তর্ভুক্ত রয়েছে।


1
আপনি যা চান তা করা সাধারণত খারাপ ধারণা হওয়ায় দয়া করে আপনি কেন এটি চান তা বর্ণনা করুন ।
rozcietrzewiacz

আমার ব্যাকআপ রয়েছে, চিন্তা করবেন না :)
রুফো এল মাগুফো

ঠিক আছে, আপনাকে সতর্ক করে দেওয়া হয়েছে এবং খেলতে চাইছে, তাই এখানে যায় ... :)
রোজিট্রিজেভিয়াকজ

উত্তর:


17

এফওয়াইআই, এটি একটি খারাপ ধারণা এবং আপনি সবকিছু হারাতে পারেন। আপনি যদি এখনও এটি করতে চান তবে পদক্ষেপগুলি এখানে:

  1. এটা করবেন না । এটি যদি সহায়তা না করে তবে:
  2. sfdiskসরঞ্জামটি ব্যবহার করুন : প্রথমে ব্যবহার করে পার্টিশন টেবিলটির ব্যাকআপ তৈরি করুন

    sfdisk -d /dev/sda > sda.out
    

    তারপরে যান:

    sfdisk /dev/sda -O sda-partition-sectors.save
    

    আপনি এরকম কিছু দেখতে পাবেন

    Checking that no-one is using this disk right now ...
    OK
    
    Disk /dev/sda: 1018 cylinders, 124 heads, 62 sectors/track
    Old situation:
    Units = cylinders of 3936256 bytes, blocks of 1024 bytes, counting from 0
    
       Device Boot Start     End   #cyls    #blocks   Id  System
    /dev/sda1          0+      5       6-     23063+  83  Linux
    /dev/sda2          6    1017    1012    3890128   83  Linux
    /dev/sda3          0       -       0          0    0  Empty
    /dev/sda4          0       -       0          0    0  Empty
    Input in the following format; absent fields get a default value.
    <start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
    Usually you only need to specify <start> and <size> (and perhaps <type>).
    
    /dev/sda1 :
    

এখন এটি আপনাকে 'sda1' পার্টিশনের জন্য নতুন বিশদ দেওয়ার জন্য বলছে। সুতরাং আপনি এখানে sda2 নম্বর দিতে হবে। সুতরাং, আমি এখানে '10 1012' রেখেছি এবং এন্টার টিপুন:

    /dev/sda1 :6 1012
    /dev/sda1          6    1017    1012    3890128   83  Linux
    /dev/sda2 :

এখন পরীক্ষা ভাবেই নম্বরগুলি যদি পরে আপনি লিখুন চাপা মুদ্রিত হয় ঠিক sda2 আগেকার মুদ্রিত যারা হিসাবে একই। যদি এটি ঠিক থাকে তবে sda2 এর জন্য নতুন নম্বর দেওয়া চালিয়ে যান:

    /dev/sda2 :0
    /dev/sda2          0+      5       6-     23063+  83  Linux
    /dev/sda3 :

এবার আমার ক্ষেত্রে "0" প্রবেশ করানোর পক্ষে যথেষ্ট ছিল - তবে আপনাকে নিশ্চিত করতে হবে যে সংখ্যাগুলি আপনার মধ্যে গণ্ডগোল হয়েছে।

এর পরে, অন্যান্য পার্টিশনগুলির সাথে একই পদ্ধতিতে চালিয়ে যান। আপনি যদি ইতিমধ্যে ডিস্কের শেষে পৌঁছে থাকেন তবে এন্টার টিপতে যথেষ্ট enough অবশেষে, আবার পরীক্ষা করুন যে সমস্ত নম্বর ঠিক আছে এবং পার্টিশন টেবিলটি সংরক্ষণ করুন (না)। আপনি যদি কিছু গোলযোগ পেয়ে যান তবে একবার দেখুন man sfdiskএবং '-d', '-O' এবং '-I' বিকল্পগুলির বিবরণ দেখুন।

আরও লক্ষ করুন, একবার আপনি পাগল পরিবর্তনগুলি করার পরে, আপনাকে 'সিঙ্ক' চালানোর দরকার হতে পারে যাতে পার্টিশনগুলি মাউন্ট করার চেষ্টা করার আগে পুনরায় পড়তে পারে।


উত্তরের জন্য ধন্যবাদ. আপনি ঠিক বলেছেন, এটি ভীতিজনক :)।
রুফো এল মাগুফো

আশ্চর্যজনক মন্দ। সংখ্যাগুলি একই না হলে কী হয়? ছেড়ে দাও আর পার্টিশন? (আমি এটিই করেছি)
তদারকি করুন

1
@supervacuo টেস্টিস্ক তখন আপনাকে সাহায্য করতে পারে। testdiskআপনার ডিস্ট্রোর সফ্টওয়্যার ডাটাবেসে প্যাকেজটি অনুসন্ধান করুন ।
রোজিট্রিজেভিয়াচজ

@supervacuo যদি সংখ্যাগুলি একই না হয় তবে আপনার নতুন পার্টিশনগুলি পুরানো পার্টিশনের মতো একই জায়গায় নেই এবং আপনি তাদের সম্ভাব্যভাবে দূষিত করবেন। আপনি যদি ডিস্কের সাথে অন্য কিছু না করেন তবে আপনি আরম্ভের আগে প্রত্যাশায় ব্যাক আপ করা পার্টিশন টেবিলটি পুনরুদ্ধার করতে পারেন এবং আবার চেষ্টা করুন। তা না হলে আপনি আরও আশাবাদী যে সঠিক নম্বরগুলি এখনও আপনার কনসোলে রয়েছে কোথাও বা আপনার পার্টিশনের সঠিক আকার এবং অবস্থানটি মনে করতে এবং সংখ্যাগুলি কার্যকর করতে পারে।
মিশেল জনসন

31

আমি কেবল এটি একটি সহজ উপায়ে করেছি:

# sfdisk -d /dev/sdb > sdb.bkp

সুরক্ষার জন্য একটি অনুলিপি ছেড়ে দিন

# cp sdb.bkp sdb.new 

এখন sdb.New সম্পাদনা করুন শুধুমাত্র আমার ক্ষেত্রে যেমন লাইন ক্রম এবং পার্টিশন নম্বর পরিবর্তন:

থেকে

# partition table of /dev/sdb
unit: sectors

/dev/sdb1 : start=  1026048, size=975747120, Id=83
/dev/sdb2 : start=     2048, size=   204800, Id=83
/dev/sdb3 : start=   206848, size=   819200, Id= b
/dev/sdb4 : start=        0, size=        0, Id= 0

প্রতি

# partition table of /dev/sdb
unit: sectors

/dev/sdb1 : start=     2048, size=   204800, Id=83
/dev/sdb2 : start=   206848, size=   819200, Id= b
/dev/sdb3 : start=  1026048, size=975747120, Id=83
/dev/sdb4 : start=        0, size=        0, Id= 0

তারপরে এটিকে আবার ডিস্ক বিভাজন টেবিলের দিকে ফেলে দেবে?

# sfdisk /dev/sdb < sdb.new

ডিস্কটি শুরুতে দুটি ছোট পার্টিশন যুক্ত করার জন্য আমি কেবলমাত্র একক পার্টিশন (এসডিবি 1) সঙ্কুচিত করে স্থানান্তরিত করার পরে আমার নম্বর ক্রমটি ম্যাঙ্গেল হয়েছিল gparted

যদি শেষ কমান্ডটি কাজ না করে, যেমন আমার ক্ষেত্রে, এটির জন্য এটি পরিবর্তন করুন:

# sfdisk --no-reread -f /dev/sdb < sdb.new

এটি আমার পক্ষে কাজ করেছে এবং আমার ২ য় কমান্ডের প্রয়োজন নেই।
অ্যারন ফ্রাঙ্ক

আমার জন্যও, ধন্যবাদ;) ... নোট নিশ্চিত করুন যে আপনার সমস্ত বিভাজন কমান্ডের আগে আনমাউন্ট হয়েছে
ইনটিকা

3

ক্রমটি বিপরীত করতে আপনাকে ড্রাইভ পার্টিশন টেবিলটি আবার লিখতে হবে, যা করা কিছুটা ঝুঁকিপূর্ণ। আমি যদি আপনি ছিলাম আমি সমস্যাটি সমাধান করব যা আপনাকে ডিভাইস নামের ক্রমটি অদলবদল করতে এবং পার্টিশনটি একা রেখে দিতে চাইবে।

উদাহরণস্বরূপ, যদি আপনার কাছে কোনও স্ক্রিপ্ট রয়েছে যা উভয় মেশিনে চালিত হওয়া দরকার এবং আপনি এটি একই ডিভাইসে অ্যাক্সেস করতে চান, তবে আলাদা ডিরেক্টরিতে একটি লিঙ্ক তৈরি করুন (না / দেব) যা উভয় সার্ভারে একই নাম, তবে / এর লিঙ্কগুলি একটিতে dev / sda1, এবং অন্যটিতে / dev / sda2।

পার্টিশনগুলি সম্পাদনা করার জন্য আপনি যে কোনও পার্টিশন সম্পাদক ( fdiskবা cfdisk) ব্যবহার করতে পারেন তবে আপনাকে বর্তমান সেটিংস লিখতে হবে বা স্ক্রিনের একটি ছবি তোলা উচিত। দুটি পার্টিশন মুছুন এবং তারপরে সেগুলি নিজেই তৈরি করুন, সমস্ত সঠিক মান উল্লেখ করে। এটি করতে লাইভসিডি দিয়ে সিস্টেমটি বুট করুন।


আমি কিছুই পরিবর্তন করতে পারি না। আমার সিস্টেমটি একটি জেন ​​ডোমু এবং সমস্যাটি ডোম0-এ রয়েছে। আমি পার্টিশনের ক্রমটি পুনরায় তৈরি করতে পারতাম তবে আমার পরিস্থিতিতে আরও জটিল। তবে যাইহোক, আমি কীভাবে অর্ডার পরিবর্তন করব তা জানতে চাই।
রুফো এল মাগুফো

2

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

দ্রষ্টব্য: আপনি কোথা থেকে বুট করেছেন এবং আপনি এই সমাধানটি উল্লেখ করেন নি, এবং আমি এটি লেখার সময় আর কেউই ঠিকঠাকভাবে কাজ করার জন্য লিলো বা GRUB পেতে আপনাকে কী করতে হবে তা সম্বোধন করছে না।

/dev/sda1এবং /dev/sda2এটি ব্লক ডিভাইস (8,1) এবং (8,2)। আপনি mknodদুটিকে কেবল অদলবদলের জন্য ব্যবহার করে দেখতে পারেন ।

telinit 1
(...)
rm -f /dev/sda{1,2}; mknod /dev/sda1 b 8 2; mknod /dev/sda2 b 8 1
chmod 640 /dev/sda{1,2}; chown root:disk /dev/sda{1,2}
reboot

কেবল মনে রাখবেন যে আপনার পার্টিশনটি /dev/বুট-এ চাপার পরেই এই অদলবদলটি ঘটবে , সুতরাং initrdযদি আপনি এটির স্থির না করেন তবে "সঠিক" রয়েছে তবে এটি (পাঠকের জন্য অনুশীলন - mkinitrdঅদ্ভুততার অনুলিপি করবে ?) এটিও নয় SELinux প্রসঙ্গে সম্বোধন করুন।


বুটলোডার কোনও সমস্যা নয় :)। সমাধানের জন্য ধন্যবাদ তবে আমার সিস্টেমে নয়, পার্টিশন টেবিলের ক্রম পরিবর্তন করতে হবে।
রুফো এল মাগুফো

1
এটি যে কোনও সিস্টেমে উদেব ব্যবহার করে তা কাজ করে না, এবং অ্যাপ্লিকেশনটি কোনও ফাইল থেকে /dev/sdaসরাসরি পড়লে (সরাসরি ডিস্কটি পড়ার বিপরীতে) সাহায্য করবে।
গিলস 'অশুভ হওয়া বন্ধ করুন'

উভয় - একমত। পুরো প্রশ্ন আইএমএইচও হ'ল ব্যথা অনুশীলন। আমি udevজিনিস সম্পর্কে নিশ্চিত ছিল না ; স্পষ্টতই আমি প্রথম যে সিস্টেমটিতে sshপ্রবেশ করেছি তা এটি ছিল না।
অ্যারন ডি মারাকো 16'11

2

আমি এই সমস্যার একটি আশ্চর্যজনকভাবে সহজ সমাধানটি আবিষ্কার করেছি। আপনি যদি শুধুমাত্র একটি পার্টিশন নামে বাকি আছে বলুন /dev/sda3। আপনি এটি কল করা চান /dev/sda1। খুলুন gdisk, পার্টিশন টেবিলটি জিপিটিতে রূপান্তর করুন, লিখুন এবং প্রস্থান করুন। তারপরে এটি আবার খুলুন, বাছাই করুন চাপুন (এটি জিপিটি নম্বরটি 1 এ পরিবর্তন করবে), এবং তারপরে বিশেষজ্ঞ বিকল্পগুলির মাধ্যমে জিপিটিকে এমবিআরে ফিরুন।


1

- রুট হিসাবে টার্মিনালে / dev / sda3 থেকে / dev / sda2 পার্টিশন সম্পাদনা করা -

  1. ব্যাকআপ পার্টিশন টেবিল

    sfdisk -d / dev / sda> sda.bkp

  2. নতুন পার্টিশন সারণিতে পার্টিশন টেবিল ব্যাকআপ অনুলিপি করুন

    সিপি sda.bkp sda.new

  3. নতুন পার্টিশন টেবিল সম্পাদনা করুন

    gedit sda.new

এখানে চিত্র বর্ণনা লিখুন

সংরক্ষণ করুন, বন্ধ করুন

  1. নতুন পার্টিশন টেবিলটি পুনরায় ইনস্টল করুন

    sfdisk - কোন-পুনঃলিখন -f / দেব / এসডিএ <sda.new

  2. কম্পিউটার পুনরায় বুট করুন


যদিও এটি
করণীয়যোগ্য

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