লিনাক্সের কমান্ড লাইনের সাহায্যে বুটেবল আইএসও থেকে বুটেবল ইউএসবি কীভাবে তৈরি করবেন?


50

আমার একটি সিডি রয়েছে যা একটি আইএসও ফাইল থেকে তৈরি হয়েছিল যা আমি প্লপ লিনাক্সের মাধ্যমে উবুন্টুর একটি কাস্টম সংস্করণ ইনস্টল করতে ব্যবহার করি।

সিডি ঠিকঠাক কাজ করে তবে আমি তার পরিবর্তে একটি বুটেবল ইউএসবি ড্রাইভ ব্যবহার করতে চাই। বুট করার যোগ্য ইউএসবি তৈরির জন্য dd কমান্ডটি ব্যবহার করেছি:

dd if=filename.iso of=/dev/sdb1 bs=4k

এখন এটি ফাইলগুলি অনুলিপি করে এবং ইউএসবি বুটেবল তৈরি করে তবে আমি "ত্রুটিযুক্ত অপারেটিং সিস্টেম" ত্রুটি পেয়েছি

কোন ধারনা?


আপনার কি কেবল কমান্ড লাইনে অ্যাক্সেস রয়েছে? ইউনেটবুটিনের মতো ইন্টারফেস রয়েছে যা খুব ভাল কাজ করে এবং লিনাক্সে চালায় ..
ড্যাশবোর্ড

3
@ ড্যাশবোর্ড আমি কমান্ড লাইনটিকে পছন্দ করব কারণ এটি প্রতিটি লিনাক্স মেশিনে উপলব্ধ।
এক্সএসডিএফ


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

উত্তর:


58

ঠিক আছে কিছু গবেষণার পরে আমি একটি সমাধান বের করেছি এবং আমি ধাপে ধাপে এর মধ্য দিয়ে যাব। সমস্যা ছিল দ্বিগুণ।

  1. ইউএসবি ফ্ল্যাশ ড্রাইভটি প্লাগ করুন এবং কমান্ডটি দিয়ে যে ডিভাইসটি বসানো হয়েছে তা নির্ধারণ করুন:

    sudo fdisk -l
    

    এবার আমার চারপাশে এটি ছিল / dev / sdc1, সুতরাং আমি এটি আমার উদাহরণ হিসাবে ব্যবহার করব।

  2. ডিভাইসটি পরিমাণ মতো করুন

    umount /dev/sdc1
    
  3. প্রয়োজনীয় কিনা তা নিশ্চিত নয় তবে আমি ড্রাইভটি ফ্যাট 32 এ ফর্ম্যাট করেছি, সেক্ষেত্রে

    sudo mkdosfs -n 'USB-Drive-Name' -I /dev/sdc -F 32
    
  4. এখন আমার আইএসও আইসলিনাক্স সিসলিনাক্স ব্যবহার করছিল না। আমি জানতাম এটি সিডিগুলির সাথে কাজ করেছে তাই আমি বুঝতে পেরেছিলাম যে আমার আইসোহাইব্রিড কমান্ডটি কল করতে হবে যা একটি আইএসওকে একটি হার্ড ড্রাইভ থেকে বিআইওএস দ্বারা স্বীকৃতি দেয়।

     isohybrid filename.iso
    

    আপনি এই কমান্ডটি সম্পর্কে এখানে আরও জানতে পারেন , তবে এটি "মিসিং অপারেটিং সিস্টেম" বার্তাটির কারণ ছিল প্রথম সমস্যাটি স্থির করা হয়েছিল, তবে এখন এটি বলেছিল "isolinux.bin অনুপস্থিত বা দূষিত ছিল"

  5. পরবর্তী পদক্ষেপটি আইসো অনুলিপি করা হয়। আমার দ্বিতীয় সমস্যাটি এখানে রয়েছে, যেখানে আমি পার্টিশনে অনুলিপি করছিলাম, এসডিসি 1, ডিভাইস নয়, এসডিসি।

    sudo dd if=filename.iso of=/dev/sdc bs=4k
    

    এটি ঠিক কাজ করছে বলে মনে হচ্ছে, তবে ফোরামটি যেখানে আমি সর্বশেষ ফিক্স পেয়েছি, ডিভাইসটি প্লাগ চাপানোর আগে নিম্নলিখিতটি করার পরামর্শ দেওয়া হয়েছিল:

    sync
    sudo eject /dev/sdc
    

3
ডিডির অগ্রগতি যাচাই করার জন্য এখানে একটি উপায়: unix.stackexchange.com/a/11264/13011
নিকস আলেকজান্দ্রিস

3
এখানে একটি ধারণা তৈরি করার পরে, আমি মনে করি mkdosfsকমান্ডটি প্রয়োজনীয় নাও হতে পারে, যেহেতু আইসোটিতে ইতিমধ্যে একটি ফাইল সিস্টেম রয়েছে (সম্ভবত একটি এমবিআর সহ, নিশ্চিত নয়) যা ব্লক ডিভাইসের শুরুতে অনুলিপি করা হয়েছে। মানুষ, isohybridএকটি দুর্দান্ত আদেশ, এটি সম্পর্কে জানতেন না!
এহতেশ চৌধুরী

1
উইন্ডোজ 7 বুটেবল ইউএসবি ইনস্টল করার জন্য, আরও দেখুন superuser.com
প্রশ্নগুলি

7
পদক্ষেপ # 3 অপ্রয়োজনীয়; ddপদক্ষেপ # 5- এ কমান্ডটি নতুন নির্মিত ফাইল সিস্টেমকে আইএসওর বিষয়বস্তুগুলি বাদ দেবে।
ewhac

আমি আপনার পোস্টটি এখানে না পাওয়া অবধি আমি 12 ঘন্টা একই সমস্যাটি খুঁজছি এবং আমি অনুসরণ এবং পদক্ষেপ এবং ... এটি কাজ করেছে! (পদক্ষেপ 5 আমার সমস্যা ছিল, আমি proএখনও লিনাক্স এ নেই, তাই আপনাকে ধন্যবাদ)
ইসমাইল

3

এটি সানডিস্ক ইউএসবি স্টিকের সাথে সাধারণ সমস্যা, বা লাঠিগুলি FAT32 এ ফর্ম্যাট করা হয়নি।

যদি না হয় তবে এটি অবশ্যই আপনার স্টিক পার্টিশনের অর্ডার বা সিসলিনাক্স.সি.পি. ফাইলের সমস্যা।


ইউএসবি ফ্ল্যাশ ড্রাইভ ভারব্যাটিম থেকে। আমি নিশ্চিত হতে FAT32 এ পুনরায় ফর্ম্যাট করেছি এবং এখনও একই ত্রুটি পেয়েছি।
এক্সএসডিএফ

1

isohybridসবসময় কাজ নাও করতে পারে। উদাহরণস্বরূপ, আমার কাছে ফ্রিডোস সহ একটি আইসো ছিল এবং আইসোহাইব্রিড সেখানে গুরুত্বপূর্ণ কিছু ফাইল খুঁজে পাচ্ছিল না (সেগুলিকে সিসলিনাক্স দিয়ে রাখা উচিত ছিল কিনা আমি জানি না, যা আমি খুব বেশি ব্যবহার করেছি বা অন্য কিছু)। আমি এখানে বেশ কয়েকটি বিকল্প প্রস্তাব করছি।

1) আর একটি বুটলোডার যেমন GRUB ইনস্টল করুন। এটি এখানে ব্যাখ্যা করা হয়েছে :

"ধরুন আপনার ইউএসবি স্টিকের প্রথম পার্টিশনটি FAT32 এবং এর পার্টিশনটি হল / dev / sdy1" ( grub2আমার ফেডোরা কোরটিতে আমি ছিলাম , সুতরাং আমি কমান্ডগুলি কিছুটা পরিবর্তন করেছি):

# mkdir -p /mnt/usb ; mount /dev/sdy1 /mnt/usb
# grub2-install --target=i386-pc --recheck --debug --boot-directory=/mnt/usb/boot /dev/sdy
# grub2-mkconfig -o /mnt/usb/boot/grub2/grub.cfg

# optional, backup config files of grub.cfg
# mkdir -p /mnt/usb/etc/default
# cp /etc/default/grub /mnt/usb/etc/default
# cp -a /etc/grub.d /mnt/usb/etc

# sync; umount /mnt/usb

2) ফ্রিডোস উইকি এখানে GRUB এবং সিসলিনাক্সের সাথে যৌগিক পদ্ধতি সরবরাহ করে (যদিও তারা বুঝতে grub>পারলো না যে তারা কীভাবে চালু করেছে - আমি ইউএসবি থেকে সেই পর্যায়ে বুট করতে পারি না)।

3) এখানে একটি পোস্ট যা কার্যকর হতে পারে - এতে বলা হয়েছে 'যতক্ষণ না কমান্ড ডট কম, কার্নেল.সিস, সিসলিনাক্স.সি.পি., এলডিলিঙ্কস.সেস এবং ফ্যাট 32 এলবা.বিএস ফাইলগুলি ড্রাইভের মূলের মধ্যে থাকে এবং এমবিআর এবং বুট হয় সেক্টর পুনর্লিখন করা হয় না ড্রাইভ বুটযোগ্য থাকা উচিত। '

৪) এখানে একটি সিস্টেনক্স বুটলোডার সহ বুটযোগ্য .iso ফাইলটি কীভাবে তৈরি করা যায় তা ব্যাখ্যা করা হয়েছে। তারা আইসোহাইব্রিডও ব্যবহার করে না। দুর্ভাগ্যক্রমে এটি আমাকে সহায়তা করেনি (সম্ভবত সিসলিনাক্সের কারণে)।

5 *) মাধ্যমে একটি উইন্ডোজ প্রোগ্রাম ব্যবহার করুন wine। আমি রুফাস চেষ্টা করেছিলাম, তবে এটি কাজ করে না, এটি ডিভাইসটি খুঁজে পায় না।

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

ইউপিডি: তৃতীয় পদ্ধতিটি সত্যই কাজ করে ( একটি কাস্টম ইনস্টলেশন ফাইলের সংশোধন সহ )।

ইউপিডি 2: (স্থির লিঙ্কগুলি) সমস্যাটি isohybridসম্ভবত কারণ আইসো এবং আমার সিস্টেমে isolinux.bin এর সংস্করণগুলি আলাদা ছিল। এখানেgenisoimage প্রস্তাবিত হিসাবে আইসো ব্যবহার করে পুনরায় সংযুক্ত :

genisoimage -l -r -J -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o fd11new.iso fd11new

কিছু সমস্যাও ছিল, জেনিসমাইজ করার আগে এগুলি এখানে পদ্ধতি দ্বারা সমাধান করা হয়েছিল :

cp /boot/extlinux/*.c32 fd11new/isolinux/
extlinux --install /boot/isolinux

== শেষ ইউপিডি 2 ==



২ য়: freedos.sourceforge.net/wiki/index.php/USB#Linux_2 যদি সিস্টেমটি আপনাকে আমার চেয়ে বেশি বিশ্বাস করে তবে আপনি এই লিঙ্কগুলিকে পোস্টে যুক্ত করতে পারেন। স্ট্যাকওভারফ্লো ইতিমধ্যে আমাকে ভাল করে চেনে, তাই সুপারভাইজারে কেন এমন সমস্যা? এছাড়াও এটি পোস্ট করতে আমার সমস্যা হয়েছিল, এটি আমার উত্তরটি ইতিমধ্যে পোস্ট করা হয়েছে তা আমাকে দেখায় নি।
ইয়ারোস্লাভ নিকিতেনকো

দেখে মনে হচ্ছে সুপারসারের লিঙ্কগুলি তাদের রেফারেন্সের দ্বারা গণনা করা হয়, অর্থাত্ যদি আমি একই সংস্থানটিতে দু'বার লিঙ্ক করি তবে এটি গণনা করা হয়। এটি একটি বাগ বলে মনে হচ্ছে। ইউপিডি-তে একটি কর্মসূচী
ইয়ারোস্লাভ

মন্তব্যে সমস্ত লিঙ্ক স্থির। এই নীতিটি কতটা সমস্যা নিয়ে আসে তা দেখানোর জন্য আমি তাদের এখানে রেখেছি।
ইয়ারোস্লাভ নিকিতেনকো

0

আপনি bootisoইউটিলিটি ব্যবহার করতে পারেন যা নিরাপদে নিরাপদে:

bootiso -d /dev/sdb filename.iso

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

আপনি যদি @ xsdf দ্বারা উল্লিখিত সমস্যাগুলি সমাধান করতে সিসলিনাক্স বুটলোডার ইনস্টল করতে চান তবে -bবিকল্পটি ব্যবহার করুন :

 bootiso -b -d /dev/sdb filename.iso

এটি ইনস্টল করতে:

curl -L https://rawgit.com/jsamr/bootiso/latest/bootiso -O
chmod +x bootiso
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.