Reparieren des grub2-Boot-UEFI nach der Neuinstallation von Windows in einem Ubuntu-Dualsystem

Wenn Sie Windows neu installiert haben, nachdem Sie ein duales System aus Ubuntu und Windows installiert haben. Dann ist die Wahrscheinlichkeit groß, dass der Grub-Boot-Eintrag vom Windows Boot Manager überschrieben wird und Sie Ubuntu dann nicht mehr starten können. Aber keine Panik, befolgen Sie die folgenden Schritte, um den Grub2-Boot zu reparieren, ohne zusätzliche Software zu installieren. Erstellen Sie ein USB-Boot-Laufwerk für Ubuntu Um den Booteintrag zu reparieren, müssen wir die vom Ubuntu-System bereitgestellten Software-Tools verwenden. Obwohl wir vorerst nicht in das ursprüngliche Ubuntu-System einsteigen können, können wir ein auf einen Ubuntu-USB-Stick geschriebenes Image verwenden, um eine brauchbare Ubuntu-Basisumgebung zu erhalten. Laden Sie die Image-Datei von der Ubuntu-Website herunter. Um ein USB-Boot-Laufwerk zu erstellen, können Sie rufus verwenden, das kostenlos zu installieren und klein genug ist, um es zu verwenden. Sie können rufus verwenden, um schnell ein USB-Boot-Laufwerk zu erstellen, achten Sie darauf, den GPT-Modus zu wählen. ...

November 26, 2021

Lösen Sie das Problem der Zeitüberschreitung und der langsamen Installation von electron, chromedriver und anderen Paketen mit yarn.

In China kann sich Chromedriver bei der Installation von Electron mit Garn oft nicht mit dem Problem verbinden. Statt einen Proxy einzurichten, sollten Sie lieber das Spiegel-Repository in China verwenden, um den Prozess zu beschleunigen. Bei der Installation von electron ist es nutzlos, nur den globalen Proxy von yarn einzurichten. Wie richten Sie Proxys für verschiedene Pakete ein? Sie können die Beispielbefehle in der folgenden Liste befolgen. globale Garn-Einstellungen Legt die Adresse des Repositorys fest, das Garn für die Installation allgemeiner Pakete verwendet. ...

November 22, 2021

oh mein zsh-Konfigurations-Tutorial unter Ubuntu

oh my zsh ist ein sehr gutes Konfigurations-Framework, das auf zsh basiert. Es kann eine Menge täglicher Operationen von Linux-Endbenutzern vereinfachen. Außerdem ist seine Oberfläche im Vergleich zur ursprünglichen bash sehr schön. Dieser Artikel beschreibt, wie Sie oh my zsh und seine gängigen Plugins unter Ubuntu installieren und konfigurieren. oh my zsh Installation und Grundkonfiguration Bevor Sie oh my zsh installieren, müssen Sie git, curl und zsh installieren, indem Sie die folgenden Befehle ausführen. ...

November 22, 2021

Konfigurieren und verschönern Sie den vim-Editor mit einem Klick mit space-vim-dark

Ich habe einige ausgereifte Konfigurationsdateien verwendet, um den vim-Editor zu konfigurieren und zu verschönern. Die von mir verwendete spf13-vim.sh wurde jedoch schon lange nicht mehr aktualisiert, und einige der Plugins in ihrer Plugin-Liste stehen nicht mehr zum ordnungsgemäßen Download zur Verfügung. Also habe ich nach einem Ersatz gesucht und bin auf space-vim-dark gestoßen. space-vim-dark grundlegende Einführung Nach meiner Suche habe ich ein besseres und schöneres Profil gefunden: space-vim-dark. Dieses space-vim-dark könnte ein von Chinesen geschriebenes Vim-Profil sein, mit dem sich Vim sehr gut an den dunklen Modus anpassen kann. Als erstes werde ich die Adresse des Repositorys angeben: https://github.com/liuchengxu/space-vim-dark Dies ist das Bild des Effekts, das Gesamtbild ist immer noch gut. ...

November 22, 2021

Implementierung eines hybriden simulierten Annealing-Algorithmus zur Lösung des dreidimensionalen Boxproblems MATLAB

Da ich im Rahmen der mathematischen Modellierung ein dreidimensionales Crating-Problem lösen muss, habe ich nach der Suche die Arbeit “Hybrid Simulated Annealing Algorithm for Solving Three-Dimensional Crating Problems”, die von Prof. Zhang Defu et al. im Journal of Computing veröffentlicht wurde, als theoretische Grundlage des Problems ausgewählt. Die Zusammenfassung des Artikels lautet wie folgt: Es wird ein hybrider Simulated Annealing-Algorithmus zur effizienten Lösung des dreidimensionalen Containerladeproblems 3D-CLP vorgeschlagen. Das dreidimensionale Containerladeproblem (3D-CLP) verlangt, eine Teilmenge einer gegebenen Menge von Kisten so in einen Container zu laden, dass das Gesamtvolumen der geladenen Kisten maximiert wird. Der in diesem Papier vorgestellte hybride Simulationsglüh-Algorithmus basiert auf drei wichtigen Algorithmen: (1) dem Algorithmus zur Erzeugung von Verbundblöcken, der sich von den traditionellen Algorithmen dadurch unterscheidet, dass der in diesem Papier vorgeschlagene Verbundblock nicht nur eine einzige Art von Kisten enthält, sondern unter bestimmten Einschränkungen jede Art von Kisten enthalten kann. (2) Grundlegender heuristischer Algorithmus, der auf dem Laden von Blöcken basiert und ein Platzierungsschema gemäß einer bestimmten Ladesequenz generieren kann. (3) Der Algorithmus des simulierten Annealing, der auf der Erzeugung von zusammengesetzten Blöcken und dem grundlegenden heuristischen Algorithmus basiert, kodiert die Ladesequenzen als machbare Platzierungsschemata und durchsucht den Kodierungsraum mit dem Algorithmus des simulierten Annealing, um die annähernd optimale Lösung des Problems zu finden. Der Algorithmus wird mit 1.500 schwach und stark heterogenen Daten für das Packproblem getestet. Die experimentellen Ergebnisse zeigen, dass die Füllrate des hybriden simulierten Annealing-Algorithmus die der besten bekannten Algorithmen übertrifft. ...

September 30, 2021

TransRepair: Automatisches Testen und Verbessern von maschineller Übersetzung

Vor kurzem habe ich ein Forschungspapier mit dem Titel TransRepair: Automatic Testing and Improvement of Machine Translation gelesen. Darin wird eine Methodik namens TransRepair für das automatische Testen von maschinellen Übersetzungsmodellen im Bereich des Softwaretests beschrieben. Im Folgenden werde ich einige Aspekte des Papiers zusammenfassen und die wichtigsten Punkte diskutieren. Einführung in TransRepair TransRepair ist eine Methode zur automatischen Erkennung und Behebung von Konformitätsproblemen in maschineller Übersetzungssoftware. Es bietet sowohl Black-Box- als auch Grey-Box-Ansätze zur Lösung von Konformitätsproblemen in maschineller Übersetzungssoftware. Zu den wichtigsten Schritten von TransRepair gehören die Generierung von Testfällen, die Erstellung von Testkriterien und die Automatisierung des Reparaturprozesses. Die Methode bietet klare, strenge und detaillierte Algorithmen für die Generierung von Testfällen und verwendet vier Methoden zur Quantifizierung von Satzunterschieden für den Vergleich. Darüber hinaus verwendet TransRepair das Prinzip der strukturellen Konsistenz als Behauptung und bietet ein umfassendes experimentelles Design und diverse Ergebnisse. ...

September 30, 2021

Strukturinvariante Tests für maschinelle Übersetzung (SIT) Zusammenfassung der Lektüre

Ich habe zuvor das Papier Structure-Invariant Testing for Machine Translation gelesen, in dem eine Methode zur Erkennung des Robustheitsproblems von Software-Systemen für die maschinelle Übersetzung vorgeschlagen wird. Im Folgenden werde ich mein Verständnis des Inhalts unter verschiedenen Aspekten erläutern. Schubkraft SIT ist eine Methode zur Erkennung von Robustheitsproblemen in maschinellen Übersetzungssoftwaresystemen. Diese Methode nutzt eine Metamorphose-Relation in einem Metamorphose-Test, d.h. “strukturelle Invarianz”. SIT kann Robustheitsprobleme in maschinellen Übersetzungssoftwaresystemen effizient aufdecken, indem es Originalsätze auswählt, ähnliche Sätze erzeugt, Ergebnisse von Übersetzungssoftware erhält, Konstituentenparsing durchführt und Satzunterschiede quantifiziert sowie Probleme anhand eines festgelegten Schwellenwerts herausfiltert und aufdeckt. Den experimentellen Ergebnissen zufolge kann SIT 2k+ Sätze in 19 Sekunden verarbeiten und erreicht eine Genauigkeit von 70% für Google/Bing Translate. Es gibt jedoch noch Raum für Verbesserungen, was wahrscheinlich an der Auswahl der Schwellenwerte liegt. ...

September 30, 2021

Intel x86-Prozessor Speicherschutz Zusammenfassung Wissenspunkte

Sobald der Speicherschutzmechanismus des Prozessors aktiviert ist, führt der Prozessor bei jedem Speicherzugriff eine Schutzprüfung durch, um sicherzustellen, dass alle Zugriffe den Schutzrichtlinien entsprechen. Die Schutzprüfung und die Adressübersetzung werden parallel durchgeführt. Die Schutzprüfung besteht aus einer Prüfung auf Segmentebene und einer Prüfung auf Seitenebene. Die Reihenfolge der Prüfung ist erst Segment, dann Seite, basierend auf Segmentdeskriptoren, Seitenverzeichnissen und Seitentabellen und basierend auf den Berechtigungsstufen. Die Berechtigungsstufe ist die von Intel definierte Berechtigungsnummer zur Implementierung des Schutzes. ...

September 30, 2021

Gemeinsame Speicherverwaltungspraktiken für die Intel 64 Architektur

Die Speicherverwaltung ist ein sehr wichtiger Teil des Betriebssystems. Mit der ständigen Weiterentwicklung der Computertechnologie entwickelt sich auch die Art der Speicherverwaltung weiter. In diesem Artikel stellen wir Ihnen einige gängige Methoden der Speicherverwaltung für das Intel 64 System vor. Die Flat-Page-Speicherverwaltung ist eine relativ einfache Art der Speicherverwaltung. Sie nutzt die seitenbasierte Verwaltung, um die segmentbasierte Verwaltung auszublenden. Insbesondere werden logische Adressen direkt auf lineare Adressen abgebildet, ein Codesegment und ein Datensegment definiert und die Größe beider Segmente beträgt 4 GB. Der Vorteil dieses Ansatzes besteht darin, dass er einfach und leicht verständlich ist. Um das Problem der Speicherabtrennung für mehrere Prozesse zu lösen, kann ein geschützter flacher Speicherverwaltungsansatz verwendet werden. Dabei werden ein Kernel-Codesegment, ein Kernel-Datensegment, ein Benutzer-Codesegment und ein Benutzer-Datensegment definiert, die jeweils eine Basisadresse von 0 und eine Größe von 4 GB haben. Prozesse verwenden das Kernel-Segment, wenn sie Kernel-Code ausführen, und das Benutzer-Segment, wenn sie Benutzer-Code ausführen. Der Vorteil dieses Ansatzes ist, dass er die Isolierung des Speichers von mehreren Prozessen ermöglicht. Der Nachteil ist jedoch, dass eine Adressübersetzung erforderlich ist, was die Effizienz beeinträchtigt. Die segmentierte Speicherverwaltung ist ein Ansatz, der ausschließlich die segmentierte Verwaltung verwendet und die seitenbasierte Verwaltung ausblendet. Sie ermöglicht die Isolierung des Multiprozessspeichers, erfordert jedoch eine Adressübersetzung, was sich ebenfalls auf die Effizienz auswirkt. Die seitenbasierte Speicherverwaltung auf der Grundlage der physikalischen Adresserweiterung ist ein Ansatz, der einen größeren physikalischen Adressraum unterstützt. Er führt den Mechanismus der Physical Address Expansion (PAE) ein, um 36-Bit physikalische Adressen zu unterstützen. In diesem Verwaltungsmodus wird der physische Adressraum auf 64 GB erweitert, aber der lineare Adressraum bleibt bei 4 GB. Seitenverzeichnisse und Seitentabelleneinträge werden auf 64 Bit erweitert, so dass die Anzahl der Einträge in einem Seitenverzeichnis oder einer Seitentabelle 512 beträgt und ein Seitenverzeichnis nur 1 GB linearen Adressraum beschreibt. Daher wurde eine Seitenverzeichnis-Zeigertabelle (PDP) mit nur vier Tabelleneinträgen eingeführt. und CR3 verweist auf die PDP. wurde der Mechanismus der Adressübersetzung geändert. Wenn das PS-Bit in einem Seitenverzeichniseintrag auf 1 gesetzt wird, wird die darin beschriebene Seite zu einer 2MB-Seite. Im 64-Bit-Modus werden die Segmente normalerweise ausgeschaltet und die Überprüfung der Segmentgrenzen wird nicht mehr durchgeführt. Die Basisadressprozessoren von CS, DS, ES und SS werden gemeinsam als 0 behandelt. FS und GS können jedoch alles andere als 0 sein und die Basisadresse von FS oder GS wird der logischen Adresse hinzugefügt, wenn sie in eine frühere Adresse umgewandelt wird. Die Basisadressbits von FS und GS sind 64-Bit-Adressen und nur die unteren 32 Bits davon werden im Kompatibilitätsmodus verwendet und im MSR gespeichert. Im 64-Bit-Modus beruht die Verwaltung des Speichers ausschließlich auf dem Paging-Mechanismus. Die Intel64-Architektur erweitert den PAE-Mechanismus, um lineare 64-Bit-Adressen und physikalische 52-Bit-Adressen zu unterstützen. Die Erweiterungen umfassen: ...

September 30, 2021

Überblick über die segmentierte Speicherverwaltung

Bei der Segment-Seiten-Speicherverwaltung wird die lineare Adresse eines Segments in lineare Seiten gleicher Größe unterteilt (4KB, 4MB oder 2MB, usw.). Der physische Speicherplatz wird ebenfalls in gleich große physische Seiten unterteilt. Das Betriebssystem verwaltet eine Seitentabelle, um die Zuordnung von linearen Seiten zu physischen Seiten zu verwalten. Die Seitentabelle ist in der IA-32-Architektur in zwei Ebenen unterteilt, den Seitenkatalog und die Seitentabelle. Das Seitenverzeichnis ist ein Array, dessen Elemente Seitenverzeichniseinträge (PDEs) genannt werden, und jeder Seitenverzeichniseintrag beschreibt eine Seitentabelle. Die Größe des Seitenverzeichnisses ist eine Seite (4KB) und es gibt 1024 Seitenverzeichniseinträge in einem Seitenverzeichnis. Die Größe eines Seitenverzeichniseintrags beträgt 4 Byte. Die Größe einer Seitentabelle ist eine Seite (4KB). Die Größe eines Seitentabelleneintrags beträgt 4 Byte, so dass eine Seitentabelle bis zu 1024 lineare Seiten beschreiben kann. ...

September 30, 2021