PDA

View Full Version : مدیریت پارتیشن ها



programerinfonet
پنج شنبه 11 خرداد 1391, 16:42 عصر
با سلام :
دوستان می خواستم ببینم چگونه می تونم روی پازتیشن هام مدیریت کنم
یعنی حذف و اضافه و ...
آیا اصلأ شدنی هست ؟
ممنون

programerinfonet
پنج شنبه 11 خرداد 1391, 17:12 عصر
دوستان یکی کمک کنه
وسط برنامه ام موندم
لازمه

Saeed_m_Farid
پنج شنبه 11 خرداد 1391, 18:25 عصر
سلام

بله، شدنی که هست ولی یکمی سخته یا من راه آسونش رو بلد نیستم؛ همونطوری که یکم پیش هم اشاره (http://barnamenevis.org/showthread.php?343900-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D9%81%D8%B6%D8%A7%DB%8C-%D8%AF%D8%B1%D8%A7%DB%8C%D9%88%D9%87%D8%A7&p=1516544#post1516544) کردم، شما باید مستقیماً با کوئری های WMI (http://msdn.microsoft.com/en-us/library/ms186146%28v=vs.80%29.aspx) و درصورت لزوم API های DriveInfo (http://msdn.microsoft.com/en-us/library/system.io.driveinfo.aspx) کار کنید؛ یکی از مهمترین هاش هم برای کار شما کلاس Win32_Volume (http://msdn.microsoft.com/en-us/library/aa394515%28VS.85%29.aspx) هست ...
چون قضیه هارد دیسک ها و ذخیره سازی یکم گسترده است (ذخیره و بازیابی یه درس مهم دانشگاه بود...) و رفته رفته هم پیچیده تر میشه! پارتیشن های جدید (با NAS (http://en.wikipedia.org/wiki/Network-attached_storage) یا SAN (http://en.wikipedia.org/wiki/Storage_area_network) و ... کاری ندارم همین RAID!) امکانات fault-tolerant دارن، انتساب dynamic برای volume ها و LDM (http://msdn.microsoft.com/en-us/library/aa939363%28v=winembedded.5%29.aspx) (یا Logical Disk Manager) و VDS (http://msdn.microsoft.com/en-us/library/windows/desktop/bb986750%28v=vs.85%29.aspx) (یا Virtual Disk Service) و قابلیت هاشون برای مدیریت پارتیشن ها خیلی قضیه رو پیچیده کرده و مثل قدیما کار کردن باهاشون راحت نیست؛ ولی بازم مثل همونا باید با مفاهیم MBR (http://en.wikipedia.org/wiki/Master_boot_record) یا GPT (http://en.wikipedia.org/wiki/GUID_Partition_Table) آشنا باشین چون بصورت گسترده در این زمینه استفاده میشه و ...

http://i.msdn.microsoft.com/dynimg/IC486496.png http://i.msdn.microsoft.com/dynimg/IC486495.png

اینجا رو هم ببین : Basic and Dynamic Disks (http://msdn.microsoft.com/en-us/library/windows/desktop/aa363785%28v=vs.85%29.aspx)

* ضمناً دوست عزیز، یکمی واضح تر سوال بپرس، سوال 2-2 تا 4 تا که نمیپرسی! نمیدونم چقدر اطلاعات در مورد مطلبی که میپرسی داری؟ یکمی در مورد پیش زمینه، کارایی که کردی، قصدی که از این کار داری توضیح بده مثلاً فلان موارد رو در برنامه نویسی سیستمی، هارد، API های ویندوز و ... میدونم، برنامه مستقله یا این جزئی از یه پروژه بزرگتره که قراره فلان کارها رو بکنه یا اینکه من کاملاً در این زمینه تازه کارم و ... نه اینکه زرتی پارتیشن ها رو مدیریت کنم! چه جور مدیریتی؟ وسط چه برنامه ای؟

راستش من یکم خاک تو سر هستم و معمولاً سخت ترین راه رو میرم، بعداً مثلاً میبینم اوووووه کارت با Diskpart (http://support.microsoft.com/kb/300415) راه میافته! کافیه یه ارتباط کامند لاین تو برنامه ات با سوئیچهای این دستور (http://technet.microsoft.com/en-us/library/cc766465%28v=ws.10%29.aspx) بذاری و ...

آدم میمونه چی بگه، یه بار یکی سوال در مورد مقایسه دو صدا (http://barnamenevis.org/showthread.php?257469-%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AF%D9%88-%D8%B5%D8%AF%D8%A7) پرسید (البته بازم از شما کاملتر)، من و یکی دیگه جواب دادیم؛ اونقدر بحث بالا گرفت که قضیه به "مدل مخفي مارکوف" HMM (http://en.wikipedia.org/wiki/Hidden_Markov_model) و wavelet و Jahmm (http://www.run.montefiore.ulg.ac.be/%7Efrancois/software/jahmm/) و خلاصه ناکجاآباد کشید، مطمئنم اونم جوابش رو نگرفت و همه هم 100 تا فحش به ما دادن ...

Saeed_m_Farid
پنج شنبه 11 خرداد 1391, 19:15 عصر
یه نمونه برای استفاده از Diskpart هم نوشتم، که امیدوارم بدردتون بخوره ولی :


طبیعتاً امتحان نکردم! چون تمایلی به آفتابه شدن هاردم ندارم :لبخند:
درصورت استفاده از این تابع در برنامه تون، اگه 10 ساعت هم طول بکشه کار Diskpart، برنامه هنگ (از کارایی صحیح و عکس العمل امتناع نمودن برنامه را گویند!) کرده و منتظر جواب میمونه، مگه اینکه بعنوان delegate تو یه نخ (نه خیاطی بلکه Thread) ازش استفاده کنید.
چون نمیدونم شما از تو برنامه #C که رو سیستمتون داره اجرا میشه، چطوری میخواین همون هارد رو پارتیشنینگ (جزء بندی دیسک سخت به بخش های مجزای منطقی) کنید، اصلاً تو کارتون فضولی نمی کنم و شما و هاردت رو میسپارم به دست آقام ...


/// <summary>
/// Run "DISKPART" which then starts the diskpart in the cmd window
/// with using a script file contain commands to display disk configuration
/// </summary>
/// <param name="path">
/// a script file contain commands to partitioning disk configuration
/// </param>
/// <returns>
/// "DISKPART" result or an error code if there is a problem in the script.
/// </returns>
public static string Diskpart(string path)
{
Process p = new Process();
if (File.Exists(path))
{
p.StartInfo = new ProcessStartInfo("cmd", "/c \"diskpart /s " + path)
{
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
return output;
}
else
return "File has not the required permissions or path don\'t contains the name of an existing file! or path is null, an invalid path, or a zero-length string.";
}



اون فایل ورودی هم یه چیزی شبیه این باید درست کنی (یعنی اینایی که نوشتم یا همینطوری تو یه فایل ذخیره میکنی و مسیرش رو میدی به تابع که بالا نوشتم، یا تعییرات دلخواه رو میدی توش و سپس ذخیره میکنی و مسیرش رو میدی به تابع که بالا نوشتم :دی ):




select disk 0
clean
create partition primary size=200
select partition 1
format fs=ntfs label="System" quick
assign letter=c
active
create partition primary size=102400
select partition 2
format fs=ntfs label="Windows" quick
assign letter=d
create partition primary
select partition 3
format fs=ntfs label="Misc" quick
assign letter=e
exit


* این پست هم نوشتم، تا بقول Inpy "رسما" برنامه نویسی را به "نقاشی" تبدیل کرد"ه باشم، تا کسی در طی پیام های خصوصی و یاهو و ... مرا محکوم نکرده و ناسزا مرقوم ننموده و باهام دعوا نکنه :(