मैकबुक पर डाउनक्लॉकिंग रैम

मैं अपने मैकबुक 6.1 ए 1342 (8 जीबी तक मेमोरी का विस्तार, एसएसडी स्थापित करना) को अपग्रेड करने और एक नई डिस्क पर सिस्टम स्थापित करने और रैम असंगतता के खिलाफ लड़ाई के साथ जुड़ी समस्याओं का समाधान करने के लिए अपने अनुभव को साझा करना चाहता हूं।

सबसे पहले, यह लग सकता है कि पुराने लोहे को अपग्रेड करना एक तुच्छ कार्य है: इंटरनेट पर इंटरनेट पर बहुत सारे लेख होने चाहिए, और इसके लिए बाजार पर सस्ते स्पेयर पार्ट्स के टन हैं। लेकिन व्यवहार में सब कुछ इतना सरल नहीं है। घटकों के चयन के चरण में स्टोर में समस्याएं शुरू हुईं

प्रागितिहास


एक प्रतीकात्मक राशि के लिए मुझे मैकबुक के हाथों से खरीदा गया था, यह इस कंपनी का मेरा पहला लैपटॉप है, शुरू में मैं इसे कंपनी के उत्पादों के साथ "परिचित" होने के लिए ले गया था। खरीद के तुरंत बाद, यह पता चला कि कंप्यूटर हमारे दिनों के लिए बहुत धीमा है, मैं इस तरह के एक परिचित के लिए तैयार नहीं था। एक दोस्त की सलाह पर मैंने अपग्रेड करने का फैसला किया। मुझे पता चला कि 2.5 इंच SATA ड्राइव और 2 DDR3 204pin SO-DIMM 1066MHz स्ट्रिप्स के अंदर, यह आधिकारिक तौर पर एक स्लॉट में अधिकतम 4 जीबी का समर्थन करता है। स्टोर में 250 जीबी एसएसडी ड्राइव चुना गया था (विकल्प के साथ कोई समस्या नहीं है: कोई भी एसएटीए 2.5 "करेगा, सीमा व्यापक है। ' कोई स्वाद)।

लेकिन रैम के साथ, सब कुछ इतना सरल नहीं है। आधिकारिक तौर पर, मैकबुक का यह मॉडल 1066 मेगाहर्ट्ज रैम का समर्थन करता है, यह उपलब्ध नहीं था, और आदेश पर, एक बार की लागत लगभग 4000 रूबल थी। उसी समय, लगभग 2000 रूबल की कीमत पर 4Gb 1600MHz उपलब्ध था। पिछड़ी अनुकूलता के आधार पर तेजी से काम किया। यह शुरू नहीं हुआ। स्टोर में, मैं एक मेमोरी मॉड्यूल खोजने में कामयाब रहा, जिसके साथ सिस्टम शुरू हुआ (एएमडी आर 334 जी 1339 एस 1 एस) और मैं खुशी से घर चला गया, दूसरे को ऑर्डर करना नहीं भूल गया। और इसलिए कि दूसरा स्लॉट खाली नहीं है, वहां अस्थायी रूप से देशी 1Gb बार चालू किया गया है।

मुझे कहना होगा कि धीमी macOS में निराश, मैंने पूरे विभाजन पर विंडोज 7 स्थापित किया और सिस्टम का बैकअप नहीं लिया - मेरी गलती को दोहराएं नहीं!

यह गीत समाप्त होता है और एक नखरे के साथ नृत्य शुरू होता है।

रिक्त ड्राइव पर macOS स्थापित करें


मेरे गांव में दो लोगों के पास एक मैक है: पहला एक मेरा है, और दूसरा उस एक आंखों वाले ठग के साथ है जो पूरे गांव को भय में रखता है। उपलब्ध साधनों से: 8 जीबी फ्लैश ड्राइव, बोर्ड पर विंडोज 7 के साथ एक दूसरा लैपटॉप, एक समर्पित इंटरनेट लाइन।

इंटरनेट पर मैकबुक पर सीधे बूट करने योग्य मैकओएस फ्लैश ड्राइव बनाने के कई लेख हैं। विंडोज़ के तहत macOS हाई सिएरा के साथ बूट करने योग्य USB फ्लैश ड्राइव बनाने का तरीका बहुत अधिक नहीं है और वे सभी macOS में इसे करने के तरीकों के बाद आउटपुट में बहुत नीचे हो जाते हैं। मैंने पहले से ही प्रारूप .img .iso .bin और अन्य में फ्लैश ड्राइव की छवियों को देखना शुरू कर दिया था, लेकिन अफसोस! शायद कहीं न कहीं बंद धार ट्रैकर्स पर हैं, लेकिन मुझे यह नहीं मिला। लेकिन मुझे BDU उपयोगिता ( बूट डिस्क उपयोगिता ) मिली, जिसके साथ आप आवश्यक फ़ाइलों को सीधे AppStore से डाउनलोड कर सकते हैं और USB फ्लैश ड्राइव पर लिख सकते हैं। कार्यक्रम सरल है, आधिकारिक वेबसाइट पर चित्रों के साथ एक विस्तृत निर्देश है, इसलिए मैं इस स्तर पर नहीं रुकूंगा। मैं केवल यह कह सकता हूं कि USB फ्लैश ड्राइव को 2 विभाजन में विभाजित करने और तिपतिया घास को डाउनलोड करने के लिए, रिकवरीएचडी छवि को डाउनलोड करने और इसे यूएसबी फ्लैश ड्राइव अनुभाग में लिखने की आवश्यकता नहीं है।

अगला, फ्लैश ड्राइव से बूट करें (स्टार्टअप पर, Alt दबाएं और मेनू दिखाई देने तक पकड़ें)। डिस्क उपयोगिता में, डिस्क को प्रारूपित करें (मैंने GUID, APFS चुना)। हम वाईफाई या तार के माध्यम से इंटरनेट से कनेक्ट करते हैं और इंस्टॉलेशन शुरू करते हैं। यदि सब ठीक है, तो सिस्टम खुद इंटरनेट से डाउनलोड करेगा और कंप्यूटर पर इंस्टॉल करेगा।

लोहे की संगतता के मुद्दे


दूसरी बार बहुत जल्दी आ गया, इससे पहले कि मेरे पास नए एसएसडी ड्राइव और 4 + 1 जीबी रैम का आनंद लेने का समय हो। मैंने RAM स्थापित किया, लगभग 8Gb के बारे में इस मैक में प्रदर्शित किया गया था और मैंने मुश्किल कार्यों के साथ सिस्टम को पीड़ा देना शुरू कर दिया। दिन में लगभग 1-2 बार, कंप्यूटर रिबूट होने लगा। Xcode से एक साधारण TextEdit में सभी अनुप्रयोगों में kernel_panic जैसी त्रुटियां। यह इस बिंदु पर पहुंच गया कि AppStore से एप्लिकेशन डाउनलोड होना बंद हो गए। पहला विचार यह है कि रैम टूट गया है। मैंने मेमेस्टेस्ट निकाला - सब कुछ क्रम में है। BDU में निर्मित फ्लैश ड्राइव से पुनर्स्थापना विफलता (सत्यापित त्रुटि, चेकसम त्रुटि और अन्य त्रुटियों) में समाप्त होती है। मुझे सीधे macOS में बनाए गए ऑफ़लाइन इंस्टॉलेशन फ्लैश ड्राइव के लिए बहुत दूर जाना पड़ा (विंडोज के तहत यह करना मुश्किल है)। लेकिन इससे भी नहीं बचा।

मैंने देखा कि मेमोरी 1333MHz की आवृत्ति पर चलती है। क्योंकि खसखस में कोई BIOS नहीं है, हमें समानांतर 1Gb 1066 मेगाहर्ट्ज देशी बार को चालू करके आवृत्ति कम करनी पड़ी। और इससे मदद मिली! सिस्टम क्रैश नहीं करता है, AppStore से सब कुछ ठीक काम कर रहा है। लेकिन दूसरी पट्टी के बारे में क्या?

पूरे इंटरनेट को तोड़ो, समस्या को हल करने के 2 तरीके ढूंढे:

  1. इसी तरह के मैकबुकप्रो से एक ईएफआई अपडेट, लेकिन यह एक तथ्य नहीं है कि यह बिल्कुल भी नहीं मर जाएगा और परिणामस्वरूप यह मैक के बारे में लिखेगा कि यह प्रो है;
  2. मेमोरी के एसपीडी ब्लॉक में अधिकतम स्वीकार्य मेमोरी फ्रिक्वेंसी को किसी एक कोष्ठक में बदलें, फिर ईएफआई अपने आप इसे चुन लेगा।

डाउनक्लॉकिंग रैम 1333MHz-1066MHz मैकबुक


मैंने दूसरा विकल्प चुना, क्योंकि दो में से एक बार को मारने का जोखिम मेरे लिए सस्ता है। साथ ही, सिस्टम द्वारा बोर्ड की गलत पहचान के कारण भविष्य में संभावित समस्याएं। बता दें कि EFI ने Apple को ही अपडेट किया है। डाउनलॉकिंग के लिए, आपको एक लाइव लिनक्स डिस्क की आवश्यकता होती है (मैंने Ubuntu 16.04.2 इंस्टॉलेशन डिस्क का उपयोग किया है)

कार्य योजना:

1. मेमोरी से SPD EEPROM से डंप निकालें;
2. 1333MHz से 1066MHz तक बस आवृत्ति खोजें और कम करें;
3. रीकाउंट CRC;
4. प्राप्त मूल्यों को EEPROM पर वापस रिकॉर्ड करें।

यदि आपके पास अतिरिक्त $ 16 है, तो आप बस Thaiphoon बर्नर खरीद सकते हैं और इसमें सभी ऑपरेशन कर सकते हैं। यदि नहीं, तो सीधे हाथों को पंप करें। चलो चलते हैं!

डंप निकालें

हम उबंटू में बूट करते हैं, टर्मिनल चलाते हैं, फिर हम सब कुछ रूट के तहत करेंगे। I2c- उपकरण स्थापित करें, ड्राइवरों को लोड करें:

sudo -I #add-apt-repository universe #apt-get update #apt-get -y install i2c-tools #modprobe eeprom #modprobe i2c-smbus #modprobe i2c-dev #modprobe i2c-nforce2 

आइए देखें कि हमारे पास कौन से टायर हैं:

 #i2cdetect -l i2c-3 i2c nvkm-0000:02:00.0-aux-0008 I2C adapter i2c-1 i2c nvkm-0000:02:00.0-bus-0002 I2C adapter i2c-8 smbus SMBus nForce2 adapter at 2140 SMBus adapter i2c-6 i2c nvkm-0000:02:00.0-aux-000b I2C adapter i2c-4 i2c nvkm-0000:02:00.0-aux-0009 I2C adapter i2c-2 i2c nvkm-0000:02:00.0-bus-0003 I2C adapter i2c-0 i2c nvkm-0000:02:00.0-bus-0000 I2C adapter i2c-9 smbus SMBus nForce2 adapter at 2100 SMBus adapter i2c-7 i2c 0000:02:00.0 I2C adapter i2c-5 i2c nvkm-0000:02:00.0-aux-000a I2C adapter 

मुझे टिप्पणियों में बताएं कि इस सूची में कैसे अस्पष्ट रूप से ढूंढा जाए जहां रैम लटका हुआ है? मैंने पहले Thaiphoon Burner के मुफ्त संस्करण का उपयोग किया था, इसलिए मुझे पता है कि मैं कहां जा रहा हूं।

तो, 840 बस SMBus nForce2 एडेप्टर पर 2140 हैंग हो जाता है। आइए देखें कि अंदर क्या है:

 #i2cdetect -y 8 0 1 2 3 4 5 6 7 8 9 abcdef 00: -- -- -- -- -- 08 -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: UU UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- 

यहाँ UU UU ये मेरे दो बार हैं, इनमें से एक 1Gb पर, दूसरा 4Gb पर। पते 0x50 और 0x51। वह कौन सा स्थान है, जो प्रत्येक के डंप द्वारा निर्धारित किया जा सकता है, सीरियल नंबर के आधार पर, उदाहरण के लिए, या निर्माण का वर्ष। मैंने थायफून बर्नर में पहले से ही इस जानकारी को देखा था, इसलिए हम तुरंत 0x51 पर डिवाइस को देखते हैं। पहले 256 बाइट्स की मेमोरी डंप करें - यह SPD EEPROM है:

 #i2cdump -f -r 0x00-0xff -y 8 0x51 b 0 1 2 3 4 5 6 7 8 9 abcdef 0123456789abcdef 00: 92 11 0b 03 03 19 00 09 03 52 01 08 0c 00 3c 00 ??????.??R???.<. 10: 69 78 69 30 69 11 20 89 00 05 3c 3c 00 f0 83 01 ixi0i? ?.?<<.??? 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 30: 00 00 00 00 00 00 00 00 00 00 00 00 0f 11 05 00 ............???. 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 00 00 00 00 00 80 01 44 00 00 00 00 00 00 4f 5d .....??D......O] 80: 52 33 33 34 47 31 33 33 39 53 31 53 00 00 00 00 R334G1339S1S.... 90: 00 00 00 00 80 01 00 00 00 00 00 00 00 00 00 00 ....??.......... a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 

बस की आवृत्ति

अगला, हम सब कुछ मन में / नोटपैड करते हैं, लेकिन किसी भी मामले में EEPROM में नहीं लिखते हैं!
मैंने ध्यान से परिणामस्वरूप डंप को एक पाठ दस्तावेज़ में स्थानांतरित कर दिया। JEDEC स्टैंडर्ड नं। 21-सी, हमें पता चलता है कि वांछित पैरामीटर 12 वीं बाइट में है (यानी, 0x0C की ऑफसेट के साथ), और 1066MHz की आवृत्ति (वास्तव में, दस्तावेज़ में अर्ध-आवृत्ति 533MHz लिखी गई है) 15 (यानी, 0x0F) से मेल खाती है। हम एक नोटबुक में ठीक करते हैं और आगे बढ़ते हैं।

सीआरसी चेकसम

यह थोड़ा अधिक जटिल है, सीआरसी या तो पहले 126 बाइट्स के लिए माना जाता है, या 117 बाइट्स के लिए। यह पहले बाइट के उच्च बिट द्वारा निर्धारित किया जाता है। मेरा यह मान 0x92, उच्च बिट = 1 है, जो CRC Coverege 0-116 से मेल खाता है। सीआरसी मूल्य की गणना स्वयं मानक सीआरसी-सीसीआईटी 16 बिट बहुपद 0x1021 सूत्र का उपयोग करके की जाती है। मैंने सीआरसी ऑनलाइन कैलकुलेटर का उपयोग किया, जहां सब कुछ पूरी तरह से डाला गया है और सीधे पाठ के साथ गिना जाता है। यह ध्यान रखना महत्वपूर्ण है कि गिनती के बाद सीआरसी बाइट्स 126 वें और 127 वें बाइट्स में EEPROM में रिवर्स ऑर्डर में लिखे गए हैं। मेरे मामले में, ऑनलाइन कैलकुलेटर ने CRC 0x5047 को गिना, मैं EEPROM में 0x47 लिखूंगा, फिर 0x50।

EEPROM को लिखें

जारी रखने से पहले, यह फिर से सब कुछ जांचने के लायक है: जेईडीईसी पढ़ें, जोखिम का आकलन करें, कौशल को सुधारने के लिए पहले से काम कर रहे मॉड्यूल के सीआरसी की गणना करने का प्रयास करें। त्रुटि के मामले में, स्मृति मर जाएगी! आप निश्चित रूप से भ्रमित हो सकते हैं, प्रोग्रामर से कनेक्ट कर सकते हैं और बैकअप से एसपीडी को पुनर्स्थापित कर सकते हैं (आपने यह किया था?)। तो चलिए जारी रखते हैं।

मेरे मामले में, मुझे लिखने की जरूरत है (पता = मूल्य):

0x0C = 0x0F (12 वीं बाइट आवृत्ति)
0x7E = 0x47 (CRC.2 का 126 वां बाइट)
0x7F = 0x50 (CRC.1 का 127 वां बाइट)

 #i2cset -f -y 8 0x51 0x0C 0x0F #i2cset -f -y 8 0x51 0x7E 0x47 #i2cset -f -y 8 0x51 0x7F 0x50 

मान लिखे जाने पर जांचें:

 #i2cdump -f -r 0x00-0xff -y 8 0x51 b 0 1 2 3 4 5 6 7 8 9 abcdef 0123456789abcdef 00: 92 11 0b 03 03 19 00 09 03 52 01 08 0f 00 3c 00 ??????.??R???.<. 10: 69 78 69 30 69 11 20 89 00 05 3c 3c 00 f0 83 01 ixi0i? ?.?<<.??? 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 30: 00 00 00 00 00 00 00 00 00 00 00 00 0f 11 05 00 ............???. 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 00 00 00 00 00 80 01 44 00 00 00 00 00 00 47 50 .....??D......GP 80: 52 33 33 34 47 31 33 33 39 53 31 53 00 00 00 00 R334G1339S1S.... 90: 00 00 00 00 80 01 00 00 00 00 00 00 00 00 00 00 ....??.......... a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 

जाहिर है, सब कुछ सही दर्ज किया गया था। बस मामले में, हम पुनः जाँच करते हैं और रिबूट करते हैं। यदि कंप्यूटर चालू हो जाता है और सभी मेमोरी उपलब्ध है - बधाई! हम मूल 1Gb बार को हटाते हैं, दूसरा डालते हैं (फ्लैश नहीं किया जाता है) और मेमोरी आवृत्ति की जांच करें - 1066MHz।

यदि मेमोरी को फ्लैश नहीं किया गया है, तो इसका मतलब है राइट प्रोटेक्ट। आप थायफून बर्नर के साथ उपयोगिता को अनलॉक करने की कोशिश कर सकते हैं, या तो एक रोकनेवाला को मेमोरी पैरों (एक अलग लेख का विषय), या किसी अन्य बार को फ्लैश करने की कोशिश कर रहे हैं।

मुझे उम्मीद है कि यह लेख किसी के लिए उपयोगी होगा। उन्होंने मुख्य रूप से खुद के लिए लिखा, इसलिए विभिन्न स्थानों में सभी जानकारी के लिए फिर से देखने के लिए नहीं।

जब लेखन सामग्री का उपयोग किया जाता था

Source: https://habr.com/ru/post/hi413099/


All Articles