কিভাবে initramfs প্রম্পটে বুট ঠিক করা যায় এবং "মাউন্ট: '/ etc / fstab' পড়তে পারে না: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই" এবং "কোনও init পাওয়া যায় না"?


25

GPT পার্টিশনযুক্ত ডিস্ক ব্যবহার করে একটি নতুন পার্টিশন ইনস্টল করা একক পার্টিশন, ext4 ফর্ম্যাট করা, এক্সট্লিনাক্স (সংস্করণ 4.05) বুটলোডার হিসাবে, উবুন্টু কোর সংস্করণ 13.10 amd64 রুটফেস হিসাবে, এবং উবুন্টু লিনাক্স-চিত্র-3.11.0-18-জেনেরিক হিসাবে কার্নেল, এবং বুটলোডার কনফিগারেশন উত্পন্ন করতে এক্সপ্লিনাক্স-আপডেট।

পুনরায় বুট করার পরে ফলাফল (এখনও কেভিএম ভিত্তিক ভার্চুয়াল মেশিনের অভ্যন্তরে) একটি (initramfs) প্রম্পট এবং এই বার্তাগুলি:

mount: can't read '/etc/fstab': No such file or directory
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
The filesystem doesn't have requested /sbin/init.
No init found. Try passing init= bootarg.

ব্যজিবক্সটি v1.20.2 হয়।

রিগ্রেশন:

  • ফাইল সিস্টেমটি চেক করা হয়েছে fsck.ext4

মূল অস্তিত্ব পরীক্ষা করুন

(initramfs) ls -l /dev/[hs]da*
ls: /dev/[hs]da*: No such file or directory

রুট বুট যুক্তি

(initramfs) cat /proc/cmdline
initrd=/boot/initrd.img-3.11.0-18-generic ro quiet BOOT_IMAGE=/boot/vmlinuz-3.11.0-18-generic

বোঝাই মডিউল পরীক্ষা করুন

(initramfs) cat /proc/modules
e1000 145368 0 - Live 0xffffffffa0000000

/ বুট ফোল্ডার সামগ্রী

$ sudo ls -l boot
-rw------- 1 root root 3296162 Feb 18 22:37 System.map-3.11.0-18-generic
-rw-r--r-- 1 root root 1007681 Feb 18 22:37 abi-3.11.0-18-generic
-rw-r--r-- 1 root root  163258 Feb 18 22:37 config-3.11.0-18-generic
drwxr-xr-x 2 root root    4096 Mar 17 20:13 extlinux
-rw-r--r-- 1 root root 4995000 Mar 16 23:35 initrd.img-3.11.0-18-generic
-rw------- 1 root root 5634192 Feb 18 22:37 vmlinuz-3.11.0-18-generic

প্রত্যাশিত ডিফল্ট ব্যাশ প্রম্পটে এই সিস্টেমটি কীভাবে বুট করবেন?


দু'দিকের ছবি কেন? আপনি কি দয়া করে এটি একটি আসল ডিস্কে রেখে বুট করার চেষ্টা করতে পারেন? কিমু এবং ইএফআইয়ের সমস্যা রয়েছে - উদাহরণস্বরূপ, আপনি যদি কোনও EFI বুট ফার্মওয়্যার চিত্র ব্যবহার না করেন তবে আপনি একেবারেই পাবেন না।
মাইকজারভেল

এবং যদি আপনি যা চান তা হ'ল বাশ প্রম্পট যদি আপনি সর্বদা আপনার
থ্রিমারফগুলিতে

প্রকৃতপক্ষে, আমি উবুন্টুতে LARGE GPT পার্টিশনগুলি দেখে এবং সেগুলি সম্পূর্ণ খালি হিসাবে নিবন্ধভুক্ত মনে করছি। তাদের লাইভ ডিস্কের জন্য গ্রাবের সিলেকশন পাওয়ার জন্য আমি রিবুট এ শিফট করার পরে আমি এফি বিকল্পটি নির্বাচন করতে সক্ষম হয়েছি, যার পরে আমার একটি ডিস্ক ছিল।
মাইক্রজারভ

উত্তর:


11

root=/dev/sdaXবিকল্পটি সেট করে আপনার কার্নেল বুট প্যারামিটারটি পরিবর্তন করুন । sdaXআপনার /বা rootবিভাজন হবে। পরের বার বুট করার পরে, আপনি দেখতে পাবেন যে আপনার ফাইল সিস্টেম initramfsঅ্যাক্সেস করার /etc/fstabও মাউন্ট করার আগে পার্টিশনটি মাউন্ট করার চেষ্টা করছে ।

আরও বিশদে বিশদটি দেখুন " initramfs কি / etc / fstab ব্যবহার করে? "


যোগ করা root=/dev/sdaX পরিস্থিতির উন্নতি করে, পরিবর্তে (initramfs)আর একটি bashলগইন প্রম্পট নেই।
প্রো ব্যাকআপ

1
root=/dev/sdaXকার্নেল বুটটিতে ম্যানুয়ালি যোগ করার পাশাপাশি , আমাকে আপডেট করতে হবে /mnt/etc/default/extlinuxএবং EXTLINUX_ROOT=""প্রস্তাবিতটিতে পরিবর্তন করতে হবে EXTLINUX_ROOT="/dev/sdaX"এবং extlinux-updateআবার চালাতে হবে ।
প্রো ব্যাকআপ

10

আপনাকে যা বোঝার দরকার initramfsতা হ'ল এটি একটি ফাইল সিস্টেম। কার্নেল ২.6 হ'ল এটি মূলত, আপনার মেশিনে একমাত্র কার্নেল-চাপানো ফাইল সিস্টেম (ভিএফএসকে বাদ দিয়ে, যা যুক্তিযুক্তভাবে একটি ফাইল সিস্টেমও রয়েছে)। আপনার initramfs imageএকটি ডিস্ক চিত্র।

initramfs imageআপনার রুটের ডিস্কটি সন্ধান করার আগে আপনার বিতরণের সিদ্ধান্ত নেওয়া যে কোনও ফাইলের প্রয়োজনীয়তা যথেষ্ট ছিল আপনার ইচ্ছার মধ্যে । সাধারণত এটি আপনার ব্যাকবক্স এবং আপনার মূল ডিভাইসটি সন্ধান এবং মাউন্ট করার জন্য যে কোনও কার্নেল মডিউল দরকার। এটি আপনার পক্ষে কাজ করছে না।

এখানে কোনও বাস্তব রহস্য নেই যদিও সমস্ত জিনিস বিবেচনা করা হয়। যদি আপনি কোনও টার্মিনাল প্রম্পটের আশেপাশে আপনার সন্ধান করতে পারেন তবে আপনি নেভিগেট করতে পারেন initramfs.তবে প্রথমে আপনাকে এটি ডিমেস্টাইফাই করতে হবে।

প্রথম এবং সর্বাগ্রে এবং আবার - /.এটি ঠিক লিনাক্স মূল লিনাক্স মূল ধরণের জিনিসগুলি করছে। আসলে, যদি এটি আপনার কার্নেল থেকে আলাদা কোনও ফাইলে থাকে তবে এটি ইতিমধ্যে আপনার দ্বিতীয় রুট ডিভাইস। প্রতিটি Linux কার্নেল একটি রয়েছে মূলত খালি /পুলিংয়ের আগে সব যা তা প্রথম মাউন্ট নিজস্ব আপনারinitramfs.

আরো কি initramfsহয় বাস্তব রুট। এটিই যেখানে লিনাক্স কার্নেল ব্যবহারের initপরে এবং আপনার পরে যে সমস্যার সম্মুখীন হতে পারে তার জন্য সমস্ত দায়িত্ব ত্যাগ করে ব্যবহারকারী স্থান শুরু করে। আপনার initঅনেকগুলি ব্যস্তবাক্স বলে মনে হচ্ছে, যার অর্থ এটির ক্রিয়াকলাপ নিয়ন্ত্রণ করা তার সাথে থাকা শেল স্ক্রিপ্টগুলি সম্পাদনা করার মতোই সহজ হওয়া উচিত।

তাহলে init?প্রায় খুঁজে না পাওয়া সম্পর্কে ত্রুটি কেন এটি অবশ্যই এমন একটি প্রোগ্রামের কথা উল্লেখ করছে initযা আপনার initবাস্তবকে শেল স্ক্রিপ্টের মাধ্যমে নির্দেশ দেওয়া হয়েছিল যাতে নিজেই এটি সম্পাদন করতে পারে।

আমার কাছে সবচেয়ে আকর্ষণীয় এটি হ'ল কার্নেল সিউডো ফাইল সিস্টেম - dev sys proc- মাউন্ট করবেন না। এটি হয় খুব ঝামেলা বা খুব ভাল একটি ক্লু। আপনি কেভিএম উল্লেখ করেছেন যা আমাকে কার্নেলের ক্ষমতা নিয়ে প্রশ্নোত্তরে নিয়ে যায়, কিন্তু আমরা সেই অন্ধকার এবং রাউটেড রাস্তায় নামার আগে, আমরা কি প্রথমে অন্য কিছু চেষ্টা করতে পারি?

cd /root || mkdir /root

এটি আমাকে আঘাত করে যে ত্রুটি বার্তাটি বারবার:

অনুরূপ কোন ফাইল বা ডিরেক্টরি নেই

আপনার initramfsচিত্রটি পুনর্নির্মাণ করতে ব্যর্থ হওয়া । এটি করার জন্য একটি লাইভ ডিস্কে বুট করুন এবং আপনার বিতরণটি শেষ করতে যে কোনও সরঞ্জাম সরবরাহ করে run ওহ, এবং দয়া করে নিশ্চিত করুন যে এই লাইভ ডিস্কটি EFI মোডে লোড হয়েছে ।

সুতরাং এখানে একমাত্র সত্যিকারের সাধারণ-সাধারণ বিষয় initramfs - switchroot.

লিনাক্স কার্নেলটি প্রাথমিক ইউজারস্পেস এবং initramfsআপনার রুট ডিস্ক ডিভাইস থেকে সরানো পরিচালনা করার উদ্দেশ্যে একটি খুব বিশেষ সিস্টেমের সরবরাহ করে। এটি প্রথমে আপনার রুট ডিস্কটিকে একটি মাউন্টপয়েন্টে মাউন্ট করে initramfsএবং তারপরে রুট ফাইল সিস্টেমটি পিভোট করে কাজ করে। আমি ধরে নিয়েছি আপনার initramfs'sটার্গেটের মাউন্ট পয়েন্টটি rootএটি যেভাবে বিলাপ করে চলেছে তার উপর ভিত্তি করে। কেন এটি নিশ্চিত না?

আরও তদন্তের জন্য আপনার একটু কৌতুকপূর্ণ হওয়া দরকার। আপনার বুটলোডারটি পাস করার জন্য সামঞ্জস্য করুন ...

init=/bin/sh

... কার্নেল প্যারামিটার হিসাবে


... টার্গেট মাউন্ট পয়েন্টটি মূল ... এটি কেন আছে তা নিশ্চিত করবেন না? এটি কীভাবে যাচাই করা যায় তা সম্পর্কে আমি ধারণা করতে পারি নি।
প্রো ব্যাকআপ

আপনার আর দরকার নেই। আপনি বাশ পেয়েছেন যার অর্থ আপনি অতীত ইন্ট্রামফেস হয়ে গেছেন। কিন্তু আপনি এখনও কেভিএম মধ্যে আছেন?
মাইক্রজারভ

হ্যাঁ, আমি এখনও কেভিএম এ আছি
প্রো ব্যাকআপ

@ প্রব্যাকআপ যদি আপনি এটি তৈরি করে থাকেন তবে আপনাকে অন্য লোকটিকে আপনার অনুগ্রহ প্রদান করা দরকার - তবে যা বলা হয়েছে তা আপনার লক্ষ্য ছিল। কিছুই নয় - আপনি দৃশ্যত ইতিমধ্যে এটি সম্পন্ন করেছেন। আপনার কেন দুটি ডি ইমেজ নির্দিষ্ট করতে হবে তা জানতে আগ্রহী - কেন আর আর ডি আর বুট করবেন? এটা কি? আমার জানানোও উচিত, কী, যদি কিছু হয় তবে efibootmgrআপনি আপনার ভার্চুয়াল মেশিনে প্রম্পটে চালনা থেকে বেরিয়ে আসতে পারেন ।
মাইকজার্ভ

আমি কেন এটির জন্য একটি নতুন এসই প্রশ্ন তৈরি করেছি: unix.stackexchange.com/questions/120999/… দ্রষ্টব্য: আমি মনে করি যে এই (সমান্তরাল ডেস্কটপ ভি 8) কেবলমাত্র BIOS বুট বার্তার কারণে একটি BIOS (UEFI নয়) রয়েছে।
প্রো ব্যাকআপ

0

আমারও একই সমস্যা ছিল। অ্যালেক্স যা বলেছেন তা সঠিক। প্রথমে আমি আমার fstab সামঞ্জস্য করেছি কিন্তু তাতে কোন লাভ হয়নি। সুতরাং, আমি আমার গ্রাব পরীক্ষা করেছি। আপনার যদি গ্রাব মেনু অ্যাক্সেস করার সম্ভাবনা থাকে।

  • আপনি কী শুরু করতে চান এবং কোনটি সমস্যার সৃষ্টি করে তা লিনাক্স নির্বাচন করুন।
  • 'ই' টিপুন এবং 'বুট_মেজ' বা 'বুট ... রুট' সন্ধান করুন।
  • ' Uuid ' পরীক্ষা করুন ।
  • আমার ক্ষেত্রে, এটি ভুল ছিল। আমি 'ব্লকিড' টাইপ করে ইনিমরাফগুলিতে একটি ছবি তৈরি করি এবং আমার লিনাক্সটি কোন পার্টিশনে ইনস্টল করা হয় তা ইউইইডি নিতে পারি।
  • ব্লকিড থেকে গ্রাব -> বুট_আইমেজে সঠিক uuid P

এটি আমার সমস্যার সমাধান করেছে। পুনরায় বুট করার পরে আমার লিনাক্সটির ডিস্ক চেক করতে আরও সময় প্রয়োজন। তবে এখন এটি আবার কাজ করে।

আশা করি আমি তোমাকে সাহায্য করতে পারব.

শুভেচ্ছা সহ

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